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

}

C语言:输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个...
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,...

输入一个正整数 n,再输入 n 个学生的百分制成绩,统计各等级成绩的个数...
int main(void){ int i, mark, n;int na, nb, nc, nd, ne;scanf("%d",&n);na = nb = nc = nd = ne = 0;for(i = 1; i <= n; i++){ scanf("%d", &mark);\/*---*\/ if(mark >=90) na++;else if(mark >=80) nb++;else if(mark >=70) nc++;else if(mark...

输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个...
{ 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,再输入n个学生的姓名和百分制成绩,将其转换为两级制...
include<stdio.h>#define MAXN 100struct student{ char name[20]; int score; char grade;};void set_grade( struct student *p, int n );int main(){ int i, n; struct student stu[MAXN]; scanf("%d", &n); for(i = 0; i < n; i++) { scanf("%s%d", stu[i...

帮我看看这用C语言怎么编
我用if语句来写 main(){ int i,j,n,m,b=0,c=0,d=0,e=0,a=0;int f[999];printf("shu ru ni yao dechengjie: ");scanf("%d",&n);for(i=0;i<n;i++){printf("NO%d:",i+1);scanf("%d",&f[i]);} for(i=0;i<n;i++){if(f[i]<101&&f[i]>89)a++;else ...

用switch语句统计各等级成绩的个数
代码如下:switch(grade){ case '优':System.out.println(5);break;case '良':System.out.println(4);break;case '中':System.out.println(3);break;case '差':System.out.println(2);break;default:System.out.println("输入的等级错误");break;} ...

free pascal题目
25、输入一个正整数N,把它分解成质因子相乘的形式。 如:36=1 X 2 X 2 X 3 X 3; 19=1 X 19 (提示:设因子为I,从2开始到N,让N重复被I除,如果能整除,则用商取代N,I为一个因子;如果不能整除,再将I增大,继续以上操作,直到I等于N。)26、校体操队到操场集合,排成每行2人,最后多出1人;排成每...

C语言程序设计教程的目 录
3.2.1 案例3.2 求三个整数的最大值(if语句) 263.2.2 案例3.3 百分制成绩转换成五分制成绩(多分支if语句) 293.2.3 案例3.4 判断所输入的一个字符是数字、空白符还是其他字符(switch语句) 313.2.4 案例3.5 百分制成绩转换成五分制成绩(switch语句) 333.3 循环语句 343.3.1 案例3.6 求1+1\/2+…+1\/100的...

C语言程序设计实验报告
case 9:printf("A!\\n");break;case 8:printf("B!\\n");break;case 7:printf("C!\\n");break;case 6:printf("D!\\n");break;case 5:printf("E!\\n");break;case 4:printf("E!\\n");break;case 3:printf("E!\\n");break;case 2:printf("E!\\n");break;case 1:printf("E!\\...

求算法设计,高手帮忙啊,注意是算法,不是程序
if a=b OR b=c OR a=c return 4 else return 0 4.百分制成绩(这个题哪来的算法啊,搞不懂)switch score\/10 case10:case 9: 输出 ‘A’ ,退出 switch case 8: 输出 ‘B’ ,退出 switch case 7: 输出 ‘C’ ,退出 switch case 6: 输出 ‘D’ ,退出 switch default: ...

相似回答