C语言高手来帮我看下为什么 这个程序 编译没有错误 但是一运行就会 让结束任务;

#include<stdio.h>//键盘输入三十个成绩求全班30同学的平均分与最高分,总分voidmain(){inthigh=0,i,sum=0;floatavera... #include <stdio.h>//键盘输入三十个成绩求全班30同学的平均分与最高分,总分
void main()
{
int high=0,i,sum=0;
float average,score;

for(i=0;i<=30;i++);
{
scanf("%d",score);
sum=sum+score;
if(score>high) score=high;
}
average=(float)(sum/30);

printf("总成绩=%d",sum);
printf("平均分=%f",average);
printf("最高分=%d",high);
}
展开
 我来答
lorddenton
2010-11-22 · TA获得超过879个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:485万
展开全部
有几个问题:
1 for(i=0;i<=30;i++);
分号加了 就使得for空循环30次

2 scanf("%d",score);
第一个参数修改成%f 表示浮点输入
第二个参数修改成 &score 必须为地址指针,否则内存会出错

3 hign 和 sum 修改为float
输出部分也做相应更改

4 high 的赋值语句左右倒了
应该为 high = score

修改后代码:

#include <stdio.h>//键盘输入三十个成绩求全班30同学的平均分与最高分,总分
void main()
{
int i;
float high = 0, sum = 0, average = 0, score = 0;

for(i=0;i<=30;i++)
{
scanf("%f",&score);
sum=sum+score;
if(score>high) high = score;
}
average=(float)(sum/30);

printf("总成绩=%f",sum);
printf("平均分=%f",average);
printf("最高分=%f",high);
}

满意请采纳
馨儿_青衣
2010-11-22 · TA获得超过546个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:576万
展开全部
#include <stdio.h>//键盘输入三十个成绩求全班30同学的平均分与最高分,总分
void main()
{
int high=0,i,sum=0;
float average,score;

for(i=0;i<=30;i++);
{
scanf("%d",&score);//输入时格式错误了
sum=sum+score;
if(score>high) score=high;
}
average=(float)(sum/30);

printf("总成绩=%d",sum);
printf("平均分=%f",average);
printf("最高分=%d",high);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式