| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 842 人关注过本帖
标题:求解程序关于求取3位数字中十位数字出现的问题
只看楼主 加入收藏
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
 问题点数:0 回复次数:2 
求解程序关于求取3位数字中十位数字出现的问题
这个程序是求解水仙花数,即3位数中的百位、十位、个位的立方和等于这个三位数,比如153
程序如下:
程序代码:
#include<stdio.h>
#include<windows.h>

void main()
{
/*********************************************
    int i,a,b,c;
    a=b=c=0;
    for (i=100;i<1000;i++)
    {
        a=i/100;
        b=(i-a*100)/10;
        c=i-a*100-b*10;
        if ((a*a*a+b*b*b+c*c*c)==i)
            printf("%d ",i);
    }
    printf("\n");
    system("pause");
/*********************************************/
    int i;
    int a1,b1,c1;
    a1=b1=c1=0;
    for (i=100;i<1000;i++)
    {
        a1=i/100;
        b1=(a1%100)/10;
        c1=i-a1*100-b1*10;
        if ((a1*a1*a1+b1*b1*b1+c1*c1*c1)==i)
            printf("%d ",i);
    }
    printf("\n");
    system("pause");

}
问题:
程序中,上下两个部分基本上是一样的,我就是把十位数稍微改了下,想方便一点,但是为什么出的结果就是不一样呢?
上面的部分将全部水仙花数列了出来,但是下面的部分只列了最后一个。
这个是什么原因呢?
搜索更多相关主题的帖子: 水仙花 
2011-11-10 21:53
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
得分:0 
好吧,我是笨蛋,发完帖子才发现
        b1=(a1%100)/10;
……居然是a1,不是i……
难怪出错呢
2011-11-10 21:56
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
得分:0 
另外,对个位数的取值方法:
c1=i%10;

[ 本帖最后由 windofland 于 2011-11-10 22:05 编辑 ]
2011-11-10 21:57
快速回复:求解程序关于求取3位数字中十位数字出现的问题
数据加载中...
 
   



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

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