当我试图运行程序并执行它时,for循环并没有重复一个适当的形式,当我试图执行它时,看来我是这样的:
Enter a number:
5.6
Enter a number:
Enter a number:
Enter a number:
Enter a number:
Enter a number:
Enter a number:
Enter a number:
Enter a number:
Enter a number:
我试图搜索有关此问题的一些信息,但我找不到任何内容。我知道这是一个愚蠢的问题,但我不知道还有什么地方可以转。感谢帮助。 我给你留下了我的代码:
#include <iostream>
using namespace std;
int main (void){
int num, sum;
float average;
for(int i=0; i<10; i++){
cout << " Enter a number: " <<endl;
cin >>i;
sum += num;
}
average = num / 10;
cout << " The total average is:\n " << media <<endl;
}
答案 0 :(得分:0)
float
无法格式化输入操作。它期待一个整数,但你输入了一个浮点数。因此,它失败了。将输入更改为double
或int main()
。
您的代码还有几个问题:
int main(void)
,而不是void
。 cin
在这里非常有用#include <iostream>
using namespace std;
int main (){
int num = 0, sum = 0;
float average = 0;
for(int i=0; i<10; i++){
cout << " Enter a number: " <<endl;
if(!(cin >> num)){ //you can also use a while loop to force requirement of proper input
cin.clear();
cin.ignore(100000, '\n');
// you can print an error message here
}
else
sum += num;
}
average = static_cast<float>(sum) / 10;
cout << " The total average is:\n " << average <<endl;
}
失败并在必要时报告错误更正代码......
===
请参阅Why would we call cin.clear() and cin.ignore() after reading input?
答案 1 :(得分:0)
你有三件事情是不正确的:
在纠正所有这些后,您的程序应如下所示:
#include <iostream>
using namespace std;
int main (void){
int num, sum=0;
float average;
for(int i=0; i<10; i++){
cout << " Enter a number: ";
cin >>num;
sum += num;
}
average = num / 10;
cout << " The total average is:\n " << average <<endl;
system("pause");
}