| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 675 人关注过本帖
标题:求教C“水仙花数”的问题
只看楼主 加入收藏
黄昏の腕轮
Rank: 2
等 级:论坛游民
帖 子:64
专家分:12
注 册:2009-6-13
结帖率:100%
收藏
 问题点数:0 回复次数:5 
求教C“水仙花数”的问题
今天做题做得我想哭
题目是列出所有水仙花数。
3位数,各位数的立方和等于该数本身,如153=1³+5³+3³
我的代码如下:
main()
{
int a,b,c,s1,s2;
for(a=1;a<=9;a++)
 {for(b=0;b<=9;b++)
  {for(c=0;c<=9;c++)
   s1=a*a*a+b*b*b+c*c*c;
   s2=a*100+b*10+c;
   if(s1==s2)
   {
       printf("%d",s1);
   }
  }
 }
}
运行结果是空白。。什么都没有显示。。请问是什么地方错了呀。。
搜索更多相关主题的帖子: 水仙花数 
2009-07-18 18:54
himpo
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:192
专家分:123
注 册:2008-5-16
收藏
得分:0 
main()
{
int a,b,c,s1,s2;
for(a=1;a<=9;a++)
{for(b=0;b<=9;b++)
  {for(c=0;c<=9;c++)
   {s1=a*a*a+b*b*b+c*c*c; //这里再加个{}号吧。。我都晕了。。
    s2=a*100+b*10+c;
    if(s1==s2)
    {
       printf("%d",s1);
    }
   }
  }
}
}

改了一下。。

#include <stdio.h>
#include <stdlib.h>

int main()
{
 int a,b,c,s1,s2;
 for(a=1;a<=9;a++)
    for(b=0;b<=9;b++)
       for(c=0;c<=9;c++)
          {
           s1=a*a*a+b*b*b+c*c*c;
           s2=a*100+b*10+c;
           if(s1==s2)
             printf("%d\n",s1);
          }
 system("pause");
 return 0;
}
2009-07-18 19:20
黄昏の腕轮
Rank: 2
等 级:论坛游民
帖 子:64
专家分:12
注 册:2009-6-13
收藏
得分:0 
以下是引用himpo在2009-7-18 19:20的发言:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b,c,s1,s2;
for(a=1;a<=9;a++)
    for(b=0;b<=9;b++)
       for(c=0;c<=9;c++)
          {
           s1=a*a*a+b*b*b+c*c*c;
           s2=a*100+b*10+c;
           if(s1==s2)
             printf("%d\n",s1);
          }
system("pause");
return 0;
}
    ...

研究了一下,知道了,原来没打括号。。谢谢了。。。

[[it] 本帖最后由 黄昏の腕轮 于 2009-7-18 19:53 编辑 [/it]]
2009-07-18 19:29
黒渍
Rank: 2
等 级:论坛游民
帖 子:57
专家分:41
注 册:2009-7-16
收藏
得分:0 
只用了一个循环,感觉相对简单点:
#include"stdio.h"
main()
{
    int a,i,j,k;
    for(a=100;a<1000;a++)
    {
        i=a/100;
        j=(a-i*100)/10;
        k=a-i*100-j*10;
        if(a==i*i*i+j*j*j+k*k*k)
            printf("%5d",a);
    }
    printf("\n");
}

踏实学C
/*我的编程飞信群:9401431 互相学习,共同进步*/
2009-07-21 21:14
soky
Rank: 4
等 级:业余侠客
帖 子:126
专家分:228
注 册:2009-7-13
收藏
得分:0 
我跟楼上做的一样
2009-07-21 21:33
asd451006071
Rank: 2
等 级:论坛游民
帖 子:23
专家分:20
注 册:2008-11-30
收藏
得分:0 
楼上的我看不懂,可以解析一下吗在循环里的语句。
这是我自己想的:
#include"stdio.h"
#include<windows.h>
#include<conio.h>
#include<math.h>
 int main()
{
    int a,i,j,k;
    for(a=100;a<=1000;a++)
    {
     k=a;
     i=k%10;
     k=k/10;
     j=k%10;
     k=k/10;
      
      if(pow(i,3)+pow(j,3)+pow(k,3)==a)
      printf("%-4d",a);
    }
    printf("\n");
   getch();
}
先用K存a的值,在通过i=k%10得到第一位,在k=k10;和j=k%10;得到第二个数;在通过
k=k/10;得到第三个数
2009-07-22 06:32
快速回复:求教C“水仙花数”的问题
数据加载中...
 
   



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

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