我正在尝试编写一个考试成绩的程序。(一旦用户输入成绩,他应该按-1。程序应该找到最高和最低等级并计算平均值所有成绩。 我的问题是-1总是计算的最小等级。我尝试通过输入intmain1 = 999(一个非常大的数字)来解决这个问题,但它也没有用。 有什么建议? 非常感谢你!
#include <iostream>
using namespace std;
int main(){
int grade1,average1;
int max1=0;
int min1=0;
int counter=0;
int sum=0;
cout<<"Enter grades of quiz 1. Use '-1' when there are no more grades."<<endl;
cin>>grade1;
while (grade1!=-1){
cin>>grade1;
counter++;
sum=sum+grade1;
if (grade1>max1)
max1=grade1;
else if (grade1<min1)
min1=grade1;
}
average1=sum/counter;
cout<<"The maximum grade of quiz 1 is"<<max1<<endl;
cout<<"The minumum grade of quiz 1 is"<<min1<<endl;
cout<<"THe average of quiz one is"<<average1<<endl;
}
答案 0 :(得分:0)
您需要做的就是将cin>>grade1;
从while循环的第一行移到最后一行。在编写代码时,一旦输入-1,它就会完成循环中的所有逻辑,然后最终停止,在处理-1之前要停止它。