#include<iostream> using namespace std; int arr[100]; int main() { int a; int b; cin >> a >> b; if (a < b) { int i = 0; while (a <= b) { arr[i] = a; a++; i++; } for (int j = 0; j < b - a + 1; j++) { cout << arr[j] << endl; } } }
时间: 2023-07-31 21:09:43 浏览: 109
使用include <iostream>时一定要加using namespace std
这段代码存在一个问题,当输入的 `a` 大于 `b` 时,`for` 循环中的条件 `j < b - a + 1` 将为负数,导致循环不执行。为了解决这个问题,你可以修改 `for` 循环的条件为 `j < b - a`。以下是修改后的代码:
```cpp
#include<iostream>
using namespace std;
int arr[100];
int main() {
int a;
int b;
cin >> a >> b;
if (a < b) {
int i = 0;
while (a <= b) {
arr[i] = a;
a++;
i++;
}
for (int j = 0; j < b - a; j++) {
cout << arr[j] << endl;
}
}
}
```
这样修改后,当 `a` 小于 `b` 时,会输出从 `a` 到 `b-1` 的所有整数。注意,这段代码仅处理了 `a < b` 的情况,如果需要处理其他情况,你可能需要进一步调整代码逻辑。
阅读全文