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

C语言程序设计:从键盘输入一个班(不超过三十人)学生某门课成绩,当输入成绩为负值时,则输入结束,统计并输出不及格人数并打印不及格学生成绩,按成绩高低排序,输出该班最高分及... C语言程序设计:从键盘输入一个班(不超过三十人)学生某门课成绩,当输入成绩为负值时,则输入结束,统计并输出不及格人数并打印不及格学生成绩,按成绩高低排序,输出该班最高分及最低分。大学C语言编程方法学题目求大神帮忙写个程序 展开
 我来答
百度网友c10ae6a
2017-12-11
知道答主
回答量:2
采纳率:0%
帮助的人:1762
展开全部
#include <stdio.h>#include <string.h>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;i<c;i++) { if(cj[i].score>average) 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;i<c;i++) { if(cj[i].score>average) 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;}
听不清啊
高粉答主

推荐于2017-12-11 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzhengsen
2015-05-14 · TA获得超过867个赞
知道小有建树答主
回答量:768
采纳率:0%
帮助的人:717万
展开全部
#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(("输入错误。\n"));
}
}
int failnum = 0;
for(int i=0;i<num;i++)
{
if(score[i]<60)
{
failnum++;
printf("第%d个学生不及格,成绩为:%d\n",i+1,score[i]);
}
}
printf("共%d个学生不及格\n",failnum);
for(int i =0;i<num;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<num;i++)
{
printf("%d\t",score[i]);
}
printf("\n");
printf("最高成绩:%d\n",score[0]);
printf("最低成绩:%d\n",score[num-1]);
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式