c语言编程,输入学号和成绩,90到100为优秀,80到89为良好,70到79为中等,60到69及格,0到59不及格

求各阶段人数及所占百分比我的程序如下:#include<stdio.h>#defineN30voidReadScore(intscore[],longnum[],intn... 求各阶段人数及所占百分比
我的程序如下:
#include <stdio.h>
#define N 30
void ReadScore(int score[],long num[],int n);
void Stats(int score[],int n);
int main()
{
int score[N],n;
long num[N];
printf("input n:");
scanf("%d",&n);
ReadScore(score,num,n);
Stats(score,n);
return 0;
}
void ReadScore(int score[],long num[],int n)
{
int i=-1;
do{
i++;
printf("input student's ID and score:");
scanf("%ld%d",&num[i],&score[i]);
}while(i<n-1);
}
void Stats(int score[],int n)
{
int i,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
float t1,t2,t3,t4,t5;
for (i=0;i<n;i++)
{
if(score[i]>=90&&score[i]<=100)
{
sum1=sum1+1;
}
if(score[i]>=80&&score[i]<=89)
{
sum2=sum2+1;
}
if(score[i]>=70&&score[i]<=79)
{
sum3=sum3+1;
}
if(score[i]>=60&&score[i]<=69)
{
sum4=sum4+1;
}
if(score[i]>=0&&score[i]<=59)
{
sum5=sum5+1;
}
}
t1=(float)(100*sum1)/n;
t2=(float)(100*sum2)/n;
t3=(float)(100*sum3)/n;
t4=(float)(100*sum4)/n;
t5=(float)(100*sum5)/n;
printf("\n优秀人数为%d,所占比例%f%s\n",sum1,t1,"%");
printf("良好人数为%d,所占比例%f%s\n",sum2,t2,"%");
printf("中等人数为%d,所占比例%f%s\n",sum3,t3,"%");
printf("及格人数为%d,所占比例%f%s\n",sum4,t4,"%");
printf("不及格人数为%d,所占比例%f%s\n",sum5,t5,"%");
}

但每个阶段人数总是0,百分比也为0,请高手指导一下。
展开
 我来答
平凡人成长日记
2011-12-06 · TA获得超过3663个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:187万
展开全部

你这个程序没任何问题啊,“但每个阶段人数总是0,百分比也为0,请高手指导一下。”

我想,你是不是输入错误啊,就是输入的时候 ID  和分数之间要空开来,并且每输入一个学生的成绩后,还要敲一次回车确认!

下面是我的程序运行截图。(点击图片可以放大)

250431615
2011-12-05 · TA获得超过635个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:232万
展开全部
按这个题的意思 应该在考你使用 switch() case 不过你这样写也可以 但麻烦了许多。
另外 这个程序没有问题 先输入n的个数 然后输入 ID 和分数时 中间要有空格 如:1 99
请采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
森然(华恋星尘之歌招2人)
2011-12-05 · TA获得超过786个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:317万
展开全部
没什么问题啊!你把void ReadScore(int score[],long num[],int n);
void Stats(int score[],int n);放进主函数中试试,我的机子上没问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式