一道C语言题目,改错题,快点啊 ,急

指出以下程序的错误并改正,上机把程序调通下面程序中函数fun的形参数组s中传送过来的是80到89分的学生成绩,函数fun的功能是:统计80到89分各分数的人数和此分数段的... 指出以下程序的错误并改正,上机把程序调通
下面程序中函数fun 的形参数组s 中传送过来的是80 到89 分的学生成绩,函数fun 的功能是:
统计80 到89 分各分数的人数和此分数段的平均分。
例如:若输入:80 88 81 84 88 84 84 81 88 82 82 –1
则输出应该是:
80:1 81:2
82:2 83:0
84:3 85:0
86:0 87:0
88:3 89:0
average:83.8
注意:用-1 结束输入
#include<stdio.h>
#define N 20
main()
{int s[N], n[10], i=0, a;
float ave;
printf("\nPlease enter the mark:");
scanf("%d", &a);
while(a>0)
{if(a>=80 && a<=89){s[i]=a; i++;}
scanf("%d", &a);
}
ave=fun(s, i, n);
for(i=0; i<10; i+2)
printf("%d:%d %d:%d\n", 80+i, n[i], 81+i, n[i+1]);
printf(“average:%.1f\n”,ave);
}
float fun(int s[N], int n,num[]);
{int k, t,sum=0;
for(k=0; k<n; k++)
{t=s[k]-80; num[t]++;sum+=s[k];}
ave=sum/n;
return(ave);
}
展开
 我来答
段药师
2009-12-26 · TA获得超过329个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:107万
展开全部
改动了些,没问题了,你自己看吧

#include<stdio.h>
#define N 20

float fun(float s[N], int n)
{
int k;float ave,t,sum=0.0;
for(k=0; k<n; k++)
{
t=s[k]-80;
sum+=s[k];
}
ave=sum/n;
return(ave);
}

void main()
{
float s[N];
float ave, a;
int n[10]={0,0,0,0,0,0,0,0,0,0}, i=0,j;
printf("\nPlease enter the mark:");
scanf("%f", &a);
while(a>0)
{
if(a>=80 && a<=89)
{
s[i]=a;
i++;
}
scanf("%f", &a);
}
ave=fun(s, i);
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(s[j]==80+i)n[i]++;
for(i=0; i<10; i=i+2)
printf("%d:%d %d:%d\n", 80+i, n[i], 81+i, n[i+1]);
printf("average:%.1f\n",ave);
}
厉宜0g4
2009-12-26
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
这是改错题吗?改错题是可以运行的,只是结果有误,你这个垃圾,TMD错误一大推,自己编的吧,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式