c语言 输入20位学生成绩,统计出平均成绩,最高成绩,最低成绩,并统计出优秀,良好,合格与不合格人数

c语言 输入20位学生成绩,统计出平均成绩,最高成绩,最低成绩,并统计出优秀,良好,合格与不合格人数,90 80 60 6 0以下

第1个回答  推荐于2016-12-01
#include <stdio.h>

int main()
{
int s[20];
int sum,max,min,excellent,good,pass,fail;
int i;
sum=0;
max=0;min=100;
excellent=good=pass=fail=0;
for(i=0;i<20;i++)
{
scanf("%d", &s[i]);
sum+=s[i];
if(s[i]>max)
max=s[i];
if(s[i]<min)
min=s[i];
if(s[i]>=90)
excellent++;
else if(s[i]>=80)
good++;
else if(s[i]>=60)
pass++;
else
fail++;
}
printf("平均成绩:%d,最高成绩:%d,最低成绩:%d\n", sum/20, max, min);
printf("优秀人数:%d,良好人数:%d,及格人数:%d,不及格人数:%d\n", excellent, good, pass, fail);
}追问

不是整型啊,平均成绩有小数点的,虽然有点小错误,不过还是采纳你吧,谢了

追答

平均成绩要有小数点的话,定义sum

float sum;
printf("平均成绩:%.2f", sum/20);

本回答被提问者采纳
第2个回答  2013-05-09
尝试自己编写吧,学编程是要自己动脑的,然后实施你的代码!分小块小块的实现,比如实现输入20个成绩,可想到的方式有数组,可以将输入成绩作为一个函数,。。。最后你会成功的追问

自己编了,关键数组还不会用啊,老师刚讲过啊,还没讲全啊,

追答

多看下书,不要等到老师讲完,自己可以尝试。学习更多的是靠自己
float grads[20];//申明一个数组,用于存放成绩
int i;
printf("请依次输入每个学生的成绩,每个学生的成绩以空格或者回车结束\n");
for(i=0;i<20;i++)
{
printf("输入第%d个学生成绩: ",i+1);
scanf("%d",&grads[i]);

}

追问

敢问大神现在的生份是??

追答

大神不敢,茫茫人群中的一个四流学校的大学生

追问

好吧,我是五流大学的

追答

这样呀,那你是哪点的嘛

追问

大专,不谈了,说多了都是泪啊

追答

好,英雄不问出处,好好干吧!有我们的天地的。朋友,祝你好运

追问

恩,谢了

第3个回答  2013-05-09
#include <stdio.h>

#define NUM_STUDENTS 20
#define NUM_LEVELS 4

int main() {
int pivots[NUM_LEVELS] = {90, 80, 60, 0};
int grades[NUM_LEVELS] = {0};

int score;
for (int i = 0; i < NUM_STUDENTS; ++i) {
scanf("%d", &score);

for (int j = 0; j < NUM_LEVELS; ++j) {
if (score >= pivots[j]) {
++grades[j];
break;
}
}

}

for (int i = 0; i < NUM_LEVELS; ++i) {
printf("%d\n", grades[i]);
}
return 0;
}
第4个回答  2013-05-09
我建议你用链表做,用数组做是好,但是不能达到锻炼效果
相似回答