标题:c新手对这个程序所想问的,求解释!
只看楼主
jacky陈123
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-10-3
 问题点数:0 回复次数:13 
c新手对这个程序所想问的,求解释!
#include <stdio.h>
int main()
{
    int n,i,max=0,a;
    double x=0;
    scanf("%d",&n);
    for (i=0;i<=n;i++);
    {
        scanf("%d",&a);
        if (a>max) max=a;
        x+=a;
    }
    printf("算术平均值=%lf\n",x/n);
    printf("最大值=%d\n",max);
    return 0;
}
疑惑1:关于初始值的,是不是像max,min等变量自身有初始值?上面的x为何自身也有初始值?
疑惑2:貌似循环里只能读出输入的第一个数,这是为啥?
求指教,求解释!!
搜索更多相关主题的帖子: 平均值 return include max 
2012-10-04 08:58
jacky陈123
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-10-3
得分:0 
貌似我发现第二个疑惑的问题所在了。。。。。。。。。。。。。你们看出来了吗??
2012-10-04 09:14
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 楼主 jacky陈123
第二个问题,
for (i=0;i<=n;i++);    多了个分号

总有那身价贱的人给作业贴回复完整的代码
2012-10-04 09:20
jacky陈123
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-10-3
得分:0 
回复 3楼 embed_xuel
那第一个疑惑呢。。。。。。。。。。。。。。
2012-10-04 16:42
绿色核桃
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-20
得分:0 
不赋初始值的话,x,max什么的在内存中是不确定的数值 x+=a;就不是你想要的结果了呀!
2012-10-04 16:56
jacky陈123
Rank: 1
等 级:新手上路
帖 子:10
专家分:4
注 册:2012-10-3
得分:0 
回复 5楼 绿色核桃
不对呀,我试了一下,好像不是不确定的,有些好像是一样的。。。。
2012-10-04 19:43
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
得分:0 
不赋初始值的话,变量在内存中是不确定的数值。
你的循环语句多了个分号,所以后面大括号中的内容就不包含在你的循环语句中了,所以就只能读出输入的第一个数。
2012-10-04 20:53
镖叔
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2012-10-4
得分:0 
当我们没给一个变量赋值时,此变量会存入一个我们所说的垃圾值,至于你说每次运行的垃圾值是一样是因为在相同的编译器随机分配的垃圾值都是一样的。
2012-10-04 21:28
痞子钦
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-10-5
得分:0 
新手上路新手上路新手上路
2012-10-05 04:21
震中地带
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:171
专家分:359
注 册:2012-3-26
得分:0 
不对吧,即使代码正确,你也算不出平均值,首先祢输入可n+1次,其次你的max=a,x+=a,会根据if(a>max)选择性运行。。
2012-10-05 07:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382511-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.531841 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved