输入若干成绩,然后出各区间的成绩个数。
#include <iostream>
using namespace std;
int main()
{
int i,n,n1,n2,n3;
double score;
cin>>n;
n1=0; n2=0; n3=0;
for(i=1;i<=n;i++)
{
cin>>score;
if(score>=85) n1+=1;
else if(score>=60) n2+=1;
else n3+=1;
}
cout<<"85~100:"<<n1<<endl;
cout<<"60~84:"<<n1<<endl;
cout<<"0~59:"<<n1<<endl;
}
就是让我一直输入,没办法输出统计的结果。。
有什么办法可以终止输入,然后出结果?
cin>>n;这里表示有多少个成绩
for(i=1;i<=n;i++)这里读取n个成绩,读取n个成绩后就结束循环,输出结果了
如果不知道有多少个成绩,可以在一行输入若干成绩,然后当输入回车符时结束。参考如下:
#include <iostream>
using namespace std;
int main()
{
double score;
while(1)
{
cin >> score;
//其它处理
//输入回车结束
if(cin.get() == '\n')
break;
}
return 0;
}
你第一个输入的就是你要输入多少个成绩,不是第一个人的成绩。一旦你输入的是第一个人的成绩,程序把它当做有多少人,可能就要循环几十次,输入几十个成绩才行。
16-18行分别输出n1,n2,n3,你写的都是n1