C语言问题,假设每个班最多有30个人,成绩在0__100之间,如果成绩不是在这个区间或者大于30个成绩则错误。

如题,我的编程是#include<stdio.h>voidmain(){inti;floatscore,ave,w;scanf("%f\n",&score);if(sco... 如题,我的编程是
#include<stdio.h>
void main()
{ int i;
float score,ave,w;
scanf("%f\n",&score);
if(score<0||score>100)
printf("errror\n");
else
for(i=0;i<=30;i++)
{ave=ave+score;
w=ave/i;}
printf("%.2f\n",w);
}
运行后 只能输入两个值 而且结果也不对 求大神之处哪里错了 什么原因 本人菜鸟
展开
 我来答
linman2010
2011-12-22 · TA获得超过302个赞
知道小有建树答主
回答量:525
采纳率:100%
帮助的人:280万
展开全部
你这个ave要赋初企等于0。
#include<stdio.h>
void main()
{ int i;
float score,ave,w;
ave=0.0;
scanf("%f\n",&score); //这里,你只能输入一个数据。如果要输入30个数据的话,还要设计算法来控制。那个你就可能把这个score变成数组,score[30]这样才能保存输入的30个数据。
if(score<0||score>100)
printf("errror\n");
else
for(i=0;i<=30;i++)
{ave=ave+score;
w=ave/i;}
printf("%.2f\n",w);
}
甘JI
2011-12-22 · TA获得超过123个赞
知道答主
回答量:70
采纳率:0%
帮助的人:59万
展开全部
score只能赋一个值,要用数组score【30】,然后用for循环语句
for(i=0;i<30;i++)scanf("%f",&score[30]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_fn
2011-12-22 · TA获得超过2258个赞
知道小有建树答主
回答量:1173
采纳率:80%
帮助的人:480万
展开全部
输入也要循环30次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伏阵a7
2011-12-22 · 超过16用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:42.5万
展开全部
要输入多个数的话就用数组呗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式