| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1202 人关注过本帖
标题:关于不同代码输出“水仙花数”产生的结果不同的问题
只看楼主 加入收藏
sulang123
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-2-4
结帖率:42.86%
收藏
已结贴  问题点数:10 回复次数:18 
关于不同代码输出“水仙花数”产生的结果不同的问题
题目:打印出所有的“水仙花数”,其各位数字立方和等于该数本身。
第一种代码
#include<stdio.h>
#include<math.h>
int main()
{
    int i=100;
    int a,b,c;
    while(i<1000)
    {
        a=i*0.01;
        b=i%100/10;
        c=i%10;

        if (i==(pow(a,3)+pow(b,3)+pow(c,3)))
        {
            printf("%d\n",i);
        }
        i++;
    }
   return 0;
}
输出结果是:153,370,371
 
第二种代码:
#include <stdio.h>
int main()
{
  int i,j,k,n=100;
  while(n<1000)
  {
    i=n/100;
    j=n%100/10;
    k=n%10;
    if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
      printf("%d%d%d\n",i,j,k);
      n++;
   }
 return 0;
}

输出的结果却是153,370,371,407
 
第二种输出的正确的,为什么第一种代码输出却缺了一个407呢???


[ 本帖最后由 sulang123 于 2011-2-17 01:00 编辑 ]
搜索更多相关主题的帖子: 水仙花 
2011-02-17 00:51
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:1 
你看错了吧,我的运行结果怎么没少啊,都是一样的啊。。。。

勤奋不止,自强不息。
2011-02-17 01:51
sulang123
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-2-4
收藏
得分:0 
没有啊,你用的是什么工具啊?
我用GCC编译的。。。。
2011-02-17 02:12
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:1 
你pow()函数用错了

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-02-17 07:30
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:1 
第一种的计算方法就不好

免费赠送河蟹一只
2011-02-17 08:12
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
不是程序的问题

   唯实惟新 至诚致志
2011-02-17 08:30
wangmile7
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2011-2-15
收藏
得分:1 
回复 4楼 A13433758072
能帮忙指出哪里用错了吗?有一个疑问是:如果是用错了话,结果不会对呀?但现在编译的结果是正确的哦。
2011-02-17 08:31
wangmile7
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2011-2-15
收藏
得分:0 
回复 5楼 pcbaichi
弱弱地问句:不好在哪里啊?
2011-02-17 08:32
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
pow 函数的函数原型为: double pow(double x,double y); 它表示 pow 函数有两个 double 型的形式参数 x、y,调用后的返回值也为 double 型

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-02-17 09:15
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:1 
        if (i==(int)(pow(a,3)+pow(b,3)+pow(c,3)+0.5))
2011-02-17 09:16
快速回复:关于不同代码输出“水仙花数”产生的结果不同的问题
数据加载中...
 
   



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

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