永发信息网

C语言程序设计:从键盘输入一个班(不超过三十人)学生某门课成绩,当输入成绩为负值时,则输入结束,统

答案:3  悬赏:80  手机版
解决时间 2021-11-15 11:10
  • 提问者网友:辞取
  • 2021-11-15 04:44
C语言程序设计:从键盘输入一个班(不超过三十人)学生某门课成绩,当输入成绩为负值时,则输入结束,统
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-11-15 05:09

全部回答
  • 1楼网友:白昼之月
  • 2021-11-15 06:54
#include "stdio.h"
int main()
{
int score[30]={};
int num = 0;
for(int i=0;i<30;)
{
printf("输入第%d个学生成绩:",i+1);
if(scanf("%d",&score[i]))
{
if(score[i]<0)
break;
i++;
num++;
}
else
{
fflush(stdin);
printf(("输入错误。 "));
}
}
int failnum = 0;
for(int i=0;i{
if(score[i]<60)
{
failnum++;
printf("第%d个学生不及格,成绩为:%d ",i+1,score[i]);
}
}
printf("共%d个学生不及格 ",failnum);
for(int i =0;i{
for(int j=num-1;j>i;j--)
{
if(score[j]>score[j-1])
{
int temp = score[j-1];
score[j-1] = score[j];
score[j] = temp;
}
}
}
printf("成绩顺序:");
for(int i=0;i{
printf("%d ",score[i]);
}
printf(" ");
printf("最高成绩:%d ",score[0]);
printf("最低成绩:%d ",score[num-1]);
return 0;
}
  • 2楼网友:杯酒困英雄
  • 2021-11-15 06:04
#include #include struct ScoreRecord{ char xm[10]; float score;}; int main(){ ScoreRecord cj[30]; char s[10]; float x,sum=0,average; int i=0,c,iFailCount=0,iHigh=0; int iC100=0,iC80=0; printf("姓名:"); gets(s); printf("\n成绩:"); scanf("%f",&x); fflush(stdin); while(x>=0) { strcpy(cj[i].xm,s); cj[i].score=x; sum+=x; if(x<60) iFailCount++; else if(x<80) iC80++; else iC100++; printf("姓名:"); gets(s); printf("\n成绩:"); scanf("%f",&x); fflush(stdin); i++; } average=sum/(i-1); printf("不及格名单:\n"); c=i; for(i=0;iaverage) iHigh++; if(cj[i].score<60) printf("%s\t%.2f\n",cj[i].xm,cj[i].score); } printf("不及格人数:%d\n",iFailCount); printf("高于平均分名单:\n"); for(i=0;iaverage) printf("%s\t%.2f\n",cj[i].xm,cj[i].score); } printf("高于平均分的人数:%d\n",iHigh); printf("不及格人数:%d\t所占有比例:%.2f\n",iFailCount,(float)iFailCount/c*100); printf("60-80人数:%d\t所占有比例:%.2f\n",iC80,(float)iC80/c*100); printf("80-100人数:%d\t所占有比例:%.2f\n",iC100,(float)iC100/c*100); return 0;}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯