C语言高手帮忙看下.....

[复制链接]
查看11 | 回复5 | 2010-11-26 22:58:38 | 显示全部楼层 |阅读模式
#include
main ()
{
int i;
double s,a[100],sum=0.0;
for(i=0;i=0)
{
sum+=a;
s=sum/i;
i++;
}
if(a<s)
printf("%f",a);
}
高手帮忙看下哪里有问题......

回复

使用道具 举报

千问 | 2010-11-26 22:58:38 | 显示全部楼层
scanf("%f",&a);
回复

使用道具 举报

千问 | 2010-11-26 22:58:38 | 显示全部楼层
恩,这个是必须知道的:当你敲一下键盘上的"Enter"键时实际是输入两个字符,"回车"和"换行",即:\n \r 对应的ascii码为13和10理解了上面的知识点,这个问题就容易解决了.当输入10之后敲回车键,先输入\n,scanf("%d",&a);结束然后第二个scanf接收到\r如果把程序修改成下面这样就很容易看到了,其实,输出的是
回复

使用道具 举报

千问 | 2010-11-26 22:58:38 | 显示全部楼层
scanf函数,scangf("%f",&a);while循环结束条件不正确输出的时候应该用个循环平均数应该是除以i+1
回复

使用道具 举报

千问 | 2010-11-26 22:58:38 | 显示全部楼层
scanf("%f",&a);这句话有问题,你要给数组赋值,应该是scanf("%f",&a);还有就是 i=0了,s=sum/i;这句话就有问题了,除数能为0?
回复

使用道具 举报

千问 | 2010-11-26 22:58:38 | 显示全部楼层
s=sum/i;第一次循环时i=0,出错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行