while ((n=getchar())!='\n') 用这个的话只能输出一个字符 每一个都是0-59段
这个我不z知道怎么解决啊
#include
using namespace std;
void main()
{
int n,a=0,b=0,c=0,d=0;
while ((n=getchar())!='\n')
{
if(n>=80&&n<=100) a++;
if(n>=60&&n<=79) b++;
if(n>=0&&n<=59) c++;
else d++;
}
cout<<"则成绩在80-100之间的有"<<a<<"个"<<endl;
cout<<"则成绩在60-79之间的有"<<b<<"个"<<endl;
cout<<"则成绩在0-59之间的有"<<c<<"个"<<endl;
cout<<"则成绩输出错误的有"<<d<<"个"<<endl;
}
getchar只能接收一个字符,换成别的吧,cin或者scanf什么的
不用先输入n吗?可以这样改
#include<iostream>
using namespace std;
void main()
{
int n, a = 0, b = 0, c = 0, d = 0;
while (1)
{
cin >> n; //cin接收数字
if (getchar() == '\n') //getchar接收数字后的字符,如果是换行,就结束
break;
if (n >= 80 && n <= 100) a++;
if (n >= 60 && n <= 79) b++;
if (n >= 0 && n <= 59) c++;
else d++;
}
cout << "则成绩在80-100之间的有" << a << "个" << endl;
cout << "则成绩在60-79之间的有" << b << "个" << endl;
cout << "则成绩在0-59之间的有" << c << "个" << endl;
cout << "则成绩输出错误的有" << d << "个" << endl;
return;
}