这个问题的提示是:
我使用的代码是首先,读入变量inCount的输入值。然后,从输入中读取inCount整数,并在字符串&;number-&;后的换行符上输出每个整数。
for (int inCount = 0; inCount <= 90; inCount++) {
cin >> inCount;
cout << "number-" << inCount << endl;
}
程序用几组数字测试这段代码,看看代码是否正常工作,是否意外地出现IL或其他东西,但为了节省空间,我只分享第一个:
我输出:
number-5
number-30
number-85
number-90
正确输出:
number-30
number-85
number-90
number-65
number-70
谁能告诉我我做错了什么?谢谢。
我想他们是在描述类似这样的东西
int count = 0;
std::cin >> count;
for (int i = 0; i < count; ++i)
{
int value = 0;
std::cin >> value;
std::cout << "number-" << value << std::endl;
}
换句话说,count
表示要读入多少个值,然后循环多次并写出每次迭代提供的值。
下面是使用while循环的工作示例:
#include <iostream>
using namespace std;
int main()
{
std::cout<<"Hello World"<<std::endl;
int count = 0;
std::cin >> count;
while(count > 0)
{
int value = 0;
std::cin >> value;
std::cout << "number-" << value << std::endl;
--count;
}
return 0;
}
您使用同一个变量来驱动循环并将用户的输入读入。一旦用户输入数字>= 90
,inCount++
将inCount
增加到一个值> 90
,导致循环条件中断。
您需要使用单独的变量,例如:
int inCount;
cin >> inCount;
for (int i = 0; i < inCount; ++i) {
int inNumber;
cin >> inNumber;
cout << "number-" << inNumber << endl;
}
#include <iostream>
using namespace std;
int main() {
int inCount;
char wildChar;
cin >> inCount;
wildChar = '*';
for (int i = 0; i < inCount; ++i) {
int inVal = 0;
cin >> inVal;
cout << inVal;
if (i == inCount - 1)
cout << endl;
else
cout << wildChar;
}
return 0;
}