从键盘输入n个学生的考试成绩,分别统计出80-100,60-79和0-59分数段的人数。

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;
}

c++
0

2个回答

getchar只能接收一个字符,换成别的吧,cin或者scanf什么的

3

不用先输入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;
}
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

2
从键盘输入n个学生的考试成绩,分别统计出80-100,60-79和0-59分数段的人数。
2
从键盘输入正整数m和n,编写程序求m~n之间的全部素数,并输出素数的个数,要求每行输出10个数据
1
编程输出对称图形,图形上半部分的行数由键盘输入
1
从billionaires中找到中国38~45岁的亿万富翁
1
萌新学c++,写了个八皇后,运行怎么也不对(运行结果为0),求大佬指点。
1
求问下边这段程序是怎么个逻辑,要表达什么意思?
2
刚开始学c++,看到这个除法的例子不太懂
1
从CEF官网下载的最新源码如何设置cookie
4
C++中,如何从txt读取一个计算公式,并将其运用与计算中
1
如何利用键盘输入字符来跳出一个循环输出的while语句?
2
vigenere密码加密算法,运行时出乱码,求助大佬指点哪里出错了
1
编写程序实现取一个整数a从右端开始的4~7位。C++
2
C C++是不是有个函数能够实现字符串处理转换?
1
GNU C++定义对象时对象名称被括号包围且前面有个下划线是什么意思
1
MFC listCtrl checkbox选中和单击选中能分别吗?
3
c++如何实现以组合键Ctrl+Z或人数>30结束输入
3
求助,这个程序哪里出错了
1
读入n(1 <= n <= 10000)个整数,求它们的和与均值。
2
关于VC++一个因为编译器变化产生的if else语法问题 急!!!!!
4
关于迭代器的问题,这段问题出在哪,运行输入两个数就崩了。开始出现很多0000.求解答。