C语言编程,输入5个学生的成绩,按照优良中差四个级别输出.

输入5个学生的成绩,按照优良中差四个级别输出。
要求if…else if…else和switch…case两种选择结构实现。

intmain(){

intscore=0;//学生成绩(实际类型请根据需要更改)

printf("请输入学生成绩:\n");

scanf("%d",&score);

/**

*使用if、elseif

*/

if(score>=90){//具体是多少,更具需要更改

printf("优\n");

}elseif(score>=80){

printf("良\n");

}

//其他雷同,已省略

/**

*使用switch

*/

switch(score/10){//两个整数相除,取整(方便写case语句,所以除以10)

case10:

case9:

printf("优\n");

break;

case8:

printf("良\n");

break;

//同理,已省略

}

return0;

}

扩展资料

按照平均成绩输出

#include<stdio.h>

#include<stdlib.h>

typedefstruct{

intID;

intmath;

intEnglish;

intC;

intavargrade;

charname[20];

}Stu;

intmain()

{

FILE*fp;

Stustu[5];

inti,avargrade=0;

printf("请输入5个同学的信息:学生号,姓名,3门成绩:\n");

for(i=0;i<5;i++)

{

scanf("%d%s%d%d%d",&(stu[i].ID),stu[i].name,&(stu[i].math),&(stu[i].English),&(stu[i].C));

stu[i].avargrade=(stu[i].math+stu[i].English+stu[i].C)/3;

}

if((fp=fopen("stud","w"))==NULL)

{

printf("error:cannotopenfile!\n");

exit(0);

}

for(i=0;i<5;i++)

fprintf(fp,"%d%s%d%d%d%d\n",stu[i].ID,stu[i].name,stu[i].math,stu[i].English,

stu[i].C,stu[i].avargrade);

fclose(fp);

//system("pause");

return0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-23

思路:键盘依次输入5个float类型数,接着if判断并输出。

参考代码:

#include <stdio.h>
int main()
{
float a;
int n=5;
while(n--){
scanf("%f",&a);
if(a>=90) printf("优 "); 
else if(a>=80) printf("良 ");
else if(a>=70) printf("中 ");
else printf("差 ");
}  
    return 0;
}
/*
运行结果:
55 65 75 85 95
差 差 中 良 优
*/

第2个回答  推荐于2018-03-01
#include <stdio.h>

int main ()
{
    int i = 0;
float score[5];
printf("please input five score:");
for(i = 0;i < 5; i++)
{
scanf("%f",&score[i]);
}
for(i = 0;i < 5; i++)
{
if(score[i] < 60)
printf("%.2f:差\n",score[i]);
else if(score[i] >= 60 && score[i] < 70)
printf("%.2f:良\n",score[i]);
else if(score[i] >= 70 && score[i] < 90)
printf("%.2f:中\n",score[i]);
else if(score[i] >= 90)
printf("%.2f:优\n",score[i]);
/*
switch((int)(score[i] / 10))
{

case 6: 
printf("%.2f:良\n",score[i]);
break;
case 7: 
case 8: 
printf("%.2f:中\n",score[i]);
break;
case 9: 
case 10:
printf("%.2f:优\n",score[i]);
break;
default:
printf("%.2f:差\n",score[i]);

}*/
}
printf("\n");

    return 0;


}

本回答被提问者和网友采纳
第3个回答  2015-04-07
说具体一点,是一次输入完毕还是?追问

一次输入完毕

追答


第4个回答  2015-04-07
这种打基础的题还是多自己想想吧,对你的还是有锻炼的。
相似回答