| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2376 人关注过本帖
标题:求水仙花数问题..帮忙看下
只看楼主 加入收藏
zzverysss
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-11-17
收藏
 问题点数:0 回复次数:12 
求水仙花数问题..帮忙看下
#include<stdio.h>
void main()
{
 int n=100,a,b,c,s=0;
 
 for(n=100;n<=999;n=n+1)
 {
  a=n/100;
  b=(n-a*100)/10;
  c=n-a*100-b*10;
  if(n=a*a*a+b*b*b+c*c*c)
   s=s+1;
   printf("%d\n",n);
 }
            
   printf("水仙花数共%d个",s);
}
水仙花数就是一个三位数,他本身等于各位数立方的和....
上面这个输出的时候出来7个,但是貌似有一位数与四位数的....不知道咋弄得....
小弟新手....表笑话哈
搜索更多相关主题的帖子: 水仙花 
2007-11-25 22:06
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
你这个程序有一个地方有问题
if(n=a*a*a+b*b*b+c*c*c)
应该改为
if(n==a*a*a+b*b*b+c*c*c)

我想应该没问题,估计LZ粗心了。呵呵~~~~

~~我的明天我知道~~
2007-11-25 22:15
zzverysss
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-11-17
收藏
得分:0 
原帖由 [bold][underline]pinglideyu[/underline][/bold] 于 2007-11-25 22:15 发表 [url=http://bbs.][/url]
你这个程序有一个地方有问题
if(n=a*a*a+b*b*b+c*c*c)
应该改为
if(n==a*a*a+b*b*b+c*c*c)

我想应该没问题,估计LZ粗心了。呵呵~~~~

我按你说的改了下,结果出来很多数字,都是三位数,但是好像不符合条件耶
2007-11-25 22:20
zzverysss
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-11-17
收藏
得分:0 
哈哈,我搞出来啦~
我在if那句下面加了花括号变成
if(n==a*a*a+b*b*b+c*c*c)
  {s=s+1;
   printf("%d\n",n);
 }
就出来啦153,370,371,407共4个~~
感谢回答那位~~
2007-11-25 22:24
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
哎~~~你吓死我了!
if 在后面是条复合语句,肯定要加{}的呀。
真是~~~粗心!

~~我的明天我知道~~
2007-11-25 22:27
zzverysss
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-11-17
收藏
得分:0 
2007-11-25 22:28
木北北
Rank: 1
等 级:新手上路
帖 子:79
专家分:0
注 册:2007-11-24
收藏
得分:0 
#include "stdio.h"
int main(void)
{
    int i,j,k,n;
    printf("水仙花数为:\n");
    for(n=100;n<1000;n++)
    {
        i=n/100;
        j=n/10-i*10;
        k=n%10;
        if(n==i*i*i+j*j*j+k*k*k)
            printf("%d\n",n);
    }
    printf("\n");
    getchar();
    return(0);
}
2007-11-25 22:30
yunqongyao
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-9-23
收藏
得分:0 
我也是楼上这样做的呵呵
#include "stdio.h"
int main(void)
{
        int i,j,k,n;
        printf("水仙花数为:\n");
        for(n=100;n<1000;n++)
        {
                i=n/100;
                j=n/10-i*10;
                k=n%10;
                if(n==i*i*i+j*j*j+k*k*k)
                        printf("%d\n",n);
        }
        printf("\n");
        getchar();
        return(0);
2007-11-26 22:19
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
我看 看你们的
2007-11-26 22:46
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
收藏
得分:0 
main()
{
int i,j,k,n;
for(n=100;n<1000;n++)
{
i=n/100;/*百位*/
j=n%100/10;/*十位*/
k=n%10;/*个位*/
if(n==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);
}
}
2007-11-27 21:52
快速回复:求水仙花数问题..帮忙看下
数据加载中...
 
   



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

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