| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1501 人关注过本帖
标题:求解释啊!!!!!!!!!!输出1~100之间每位数的和大于乘积
只看楼主 加入收藏
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:1 
求解释啊!!!!!!!!!!输出1~100之间每位数的和大于乘积
#include<stdio.h>
int main()
{
    int i,j,n=0;
    int he,chen;
    chen=1,he=0;
     for(j=1;j<100;j++)
    {
   
        i=j;
        while(i!=0)
        {
            he+=i%10;
            chen*=i%10;
            i/=10;
        }
   
        if(he>chen){
            if(n%5==0)
                printf("\n");
            printf("%4d",j);
            n++;
        }
    }
    return 0;
}

 


当把chen he初始化在for语句之前时得到的答案就不对这是为什么呢?

#include<stdio.h>
int main()
{
    int i,j,n=0;
    int he,chen;
    chen=1,he=0;
     for(j=1;j<100;j++)
    {
   
        i=j;
        while(i!=0)
        {
            he+=i%10;
            chen*=i%10;
            i/=10;
        }
   
        if(he>chen){
            if(n%5==0)
                printf("\n");
            printf("%4d",j);
            n++;
        }
    }
    return 0;
}

 
搜索更多相关主题的帖子: include return 
2011-11-12 16:10
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:20 
你的while循环,会改变chen和he的值,所以你在for的每次循环前必须先将chen和he分别赋值为1和0,这就必须把赋值语句放在for里面
2011-11-12 16:19
快速回复:求解释啊!!!!!!!!!!输出1~100之间每位数的和大于乘积
数据加载中...
 
   



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

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