C语言程序 输入10个学生的成绩,要求输出这10个成绩的及格率和优秀率,再输出不及格的成绩

请大神帮忙

# include<stdio.h>
int main()
{
int grade[10],NoGood[10],i,j=0,k=0,m=0;
float PassRate,ExeRate;
printf("请输入10个学生的成绩:\n");
for(i=0;i<10;i++)
{
scanf("%d",&grade[i]);
if(grade[i]>=85)
{
k++;
}
if(grade[i]>=60)
{
j++;
}
else
{
NoGood[m++]=i;
}
}
PassRate=1.0f*j/10*100;
ExeRate=1.0f*k/10*100;
printf("这些学生的及格率为%.2f%%\n",PassRate);
printf("这些学生的优秀率为%.2f%%\n",ExeRate);
if(m>0)
{
printf("不及格成绩有:");
for(i=0;i<m;i++)
{
printf("%d ",grade[NoGood[i]]);
}
}
else
{
printf("没有不及格成绩");
}
printf("\n");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15

#include <stdio.h>

int main()

{

int score[10];

printf("请输入10个同学的分数\n");

for(int i=0;i<10;i++)

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

int pass=0,excellent=0;

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

{

if(score[i]>=60)

pass++;

if(score[i]>=80)

excellent++;

}

printf("及格率是%g%%\n",pass/10.0*100);

printf("优秀率是%g%%\n",excellent/10.0*100);

printf("\n不及格的分数为");

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

if(score[i]<60)

printf("%3d",score[i]);

printf("\n");

}

追问

有错误,请检查一下

追答

我都把运行结果贴出来了 。哪还有错误呢?请明示!
上面的结果是在VC上运行的
还有要求请说?

追问

就是这样的

追答

#include
int main()
{
int score[10],i;//改成这样试试 看看有没问题了
int pass=0,excellent=0;
printf("请输入10个同学的分数\n");
for(i=0;i=60)
pass++;
if(score[i]>=80)
excellent++;
}
printf("及格率是%g%%\n",pass/10.0*100);
printf("优秀率是%g%%\n",excellent/10.0*100);
printf("不及格的分数为");
for(i=0;i<10;i++)
if(score[i]<60)
printf("%3d",score[i]);
printf("\n");
}

本回答被提问者采纳
第2个回答  2021-06-10
从键盘输入 10 名同学的C语言设计成绩,然后调用计算成绩等级的函数(成绩等级:90~100 优秀:80~90 良好:70~80中等:60~70及格:0~60不及格;),计算并输出每个同学的成绩等级。