C语言:输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数。

成绩等级分为五级,分别为A(90~100)、B(80~89)、C(70~79)、D(60~69)和E(0~59)。
输入输出示例
Enter n: 5
Enter grade 1: 77
Enter grade 2: 54
Enter grade 3: 92
Enter grade 4: 73
Enter grade 5: 60
The number of A(90~100):1
The number of B(80~89):0
The number of C(70~79):2
The number of D(60~69):1
The number of E(0~59):1

#include <stdio.h>

int main(int argc, char *argv[])

{

int count,i,sum=0,avg;

int score[20];

int count_A=0,count_B=0,count_C=0,count_D=0,count_E=0;

printf("你要输入几个学生的成绩:");

scanf("%d",&count);

printf("请输入%d个学生的成绩\n",count);

for(i=0;i<count;i++){

scanf("%d",&score[i]);

}

for(i=0;i<count;i++){

sum+=score[i];

}

avg=sum/count;

for(i=0;i<count;i++){

if(score[i]<=100&score[i]>=90) count_A++;

else if(score[i]<90&score[i]>=80) count_B++;

else if(score[i]<80&score[i]>=70) count_C++;

else if(score[i]<70&score[i]>=60) count_D++;

else if(score[i]<600&score[i]>=0) count_E++;

else {}

}

printf("A等的成绩个数有:%d个\n",count_A);

printf("B等的成绩个数有:%d个\n",count_B);

printf("C等的成绩个数有:%d个\n",count_C);

printf("D等的成绩个数有:%d个\n",count_D);

printf("E等的成绩个数有:%d个\n",count_E);

getch();

}

这本书被 C语言开发者们称为K&R,很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为K&R C。

扩展资料

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。

K&R C主要介绍了以下特色:

结构体(struct)类型

长整数(long int)类型

无符号整数(unsigned int)类型

运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最 准要求,许多老旧的编译器仍然运行K&R C的标准。

参考资料来源:百度百科-c语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-13
#include<stdio.h>
main()
{
int n,i;
int A=0,B=0,C=0,D=0,E=0;//用来统计各阶段学生成绩的人数,初始值都为0;
float score;//定义成绩变量;
float ave=0;//定义平均成绩
float num=0;//定义全部成绩总和

scanf("%d",&n);//从键盘输入学生成绩的个数
for(i=1;i<=n;i++)

scanf("%f",&score);//输入每个学生的成绩,共有n个学生
num+=score;//计算总成绩
switch(score)//switch 语句来计算各个分数段的成绩个数
{
case score>=90&&score<=100:A++;
case score>=80&&score<=89:B++;
case score>=70&&score<=79:C++;
case score>=60&&score<=69:D++;
case score>=0&&score<=59:E++;
default:break;
}

ave=num/n;//计算平均成绩
printf("%f",ave);//输出平均成绩
printf("%d",A);//输出成绩在90-100的个数
printf("%d",B);//输出成绩在80-89的个数
printf("%d",C);//输出成绩在70-79的个数
printf("%d",D);//输出成绩在60-69的个数
printf("%d",E);//输出成绩在0-59的个数
}
第2个回答  2012-04-07
#include <stdio.h>
int main()
{
int i,A,B,C,D,E,n,s;
A=B=C=D=E=0;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<n;++i)
{
printf("Enter grade %d:",i+1);
scanf("%d",&s);
switch(s/10)
{
case 1:
case 2:
case 3:
case 4:
case 5:E++;break;
case 6:D++;break;
case 7:C++;break;
case 8:B++;break;
case 9:
case 10:A++;break;
}
}
printf("The number of A(90~100):%d\n",A);
printf("The number of B(80~89):%d\n",B);
printf("The number of C(70~79):%d\n",C);
printf("The number of D(60~69):%d\n",D);
printf("The number of E(0~59):%d\n",E);
return 0;
}追问

switch语句没写,这是重点……

追答

不用switch可以用if么,虽然结构看起来会很难看

#include
int main()
{
int i,A,B,C,D,E,n,s;
A=B=C=D=E=0;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i=0&&s<60)
{
E++;
}
else
{
if(s<70)
{
D++;
}
else
{
if(s<80)
{
C++;
}
else
{
if(s<90)
B++;
else
{
if(s<=100)
A++;
}
}
}
}
}
}
printf("The number of A(90~100):%d\n",A);
printf("The number of B(80~89):%d\n",B);
printf("The number of C(70~79):%d\n",C);
printf("The number of D(60~69):%d\n",D);
printf("The number of E(0~59):%d\n",E);
return 0;
}

本回答被提问者采纳
第3个回答  2010-05-06
#include <stdio.h>
int main(int argc, char *argv[])
{
int count,i,sum=0,avg;
int score[20];
int count_A=0,count_B=0,count_C=0,count_D=0,count_E=0;
printf("你要输入几个学生的成绩:");
scanf("%d",&count);
printf("请输入%d个学生的成绩\n",count);
for(i=0;i<count;i++){
scanf("%d",&score[i]);
}
for(i=0;i<count;i++){
sum+=score[i];
}
avg=sum/count;
for(i=0;i<count;i++){
if(score[i]<=100&score[i]>=90) count_A++;
else if(score[i]<90&score[i]>=80) count_B++;
else if(score[i]<80&score[i]>=70) count_C++;
else if(score[i]<70&score[i]>=60) count_D++;
else if(score[i]<600&score[i]>=0) count_E++;
else {}
}
printf("A等的成绩个数有:%d个\n",count_A);
printf("B等的成绩个数有:%d个\n",count_B);
printf("C等的成绩个数有:%d个\n",count_C);
printf("D等的成绩个数有:%d个\n",count_D);
printf("E等的成绩个数有:%d个\n",count_E);
getch();
}
第4个回答  2012-04-07
#include<stdio.h>
void main()
{
int n,i,score;
int A=0,B=0,C=0,D=0,E=0;
printf("please input the n:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{ scanf("%d",&score);
switch(score/10)
{ case 1:
case 2:
case 3:
case 4:
case 5: E++; break;
case 6: D++; break;
case 7: C++; break;
case 8: B++; break;
case 9:
case 10:A++; break;
}

}

printf("The number of A(90~100):%d\n",A);
printf("The number of B(80~89):%d\n",B);
printf("The number of C(70~79):%d\n",C);
printf("The number of D(60~69):%d\n",D);
printf("The number of E(0~59):%d\n",E);

}
相似回答