
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);
} 展开
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);
} 展开
展开全部
有几个问题:
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);
}
满意请采纳
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);
}
满意请采纳
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询