| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 611 人关注过本帖
标题:求“水仙花”数,哪里错了?
只看楼主 加入收藏
chenghang
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-22
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:12 
求“水仙花”数,哪里错了?
#include<stdio.h>
void main()
{
    int a=100,s=0,b,m=100,t,r,i=0;
    while(a<=999)
    {
        while(a!=0)
        {
            b=a%10;
            a=a/10;
            s=s+b*b*b;
        }
        {    if(s==m)  printf("这个“水仙花”数为%d\n",m);
            else printf("%d不是“水仙花”数",m);
            ++m;
            r=(t=m);
            a=t;
               m=r;
        }
    }
}
搜索更多相关主题的帖子: 水仙花 
2012-10-27 16:26
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:2 
#include <stdio.h>
int main()
{
    int i,a,b,c;
    printf("100--999的水仙花数为:\n");
    for(i=100;i<=999;i++)
    {
        a=i%10;//获取个位数
        b=(i/10)%10;//获取十位数
        c=i/100;//获取百位数
        if(a*a*a+b*b*b+c*c*c==i)
            printf("%d ",i);
    }
    return 0;
}
电脑上没装编译器 你自己调试一下试试吧
因为不知道是不是你要的
你的那个程序写的有点乱

[ 本帖最后由 zxd543 于 2012-10-27 17:33 编辑 ]

马马虎虎 不吝赐教 我是路过蹭分滴
2012-10-27 17:26
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3451
专家分:19340
注 册:2012-3-31
收藏
得分:6 
#include <stdio.h>
   void main()
{
  int number,a,b,c;
  for(number=100;number<=999;number++)
    {
       a=number%10;
       b=(number/10)%10;
       c=number/100;
       if(a*a*a+b*b*b+c*c*c==number)
       printf("%d\n",number);
       }
}
   
   

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-10-27 17:41
zhuanjia0
Rank: 4
等 级:业余侠客
威 望:3
帖 子:86
专家分:232
注 册:2012-1-13
收藏
得分:2 
主要是将各位数取出来,方法应该差不多。
个位:int a = num%10;
十位:int b = num/10%10;
百位:int c = num/100;
2012-10-27 20:22
chenghang
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-22
收藏
得分:0 
回复 3楼 青春无限
编译是正确的,但是执行时错误。
2012-10-27 20:22
stuniversity
Rank: 2
等 级:论坛游民
帖 子:8
专家分:13
注 册:2012-10-24
收藏
得分:1 
回复 5楼 chenghang
我试过,3楼的运行没问题啊
2012-10-27 20:28
chenghang
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-10-22
收藏
得分:0 
回复 6楼 stuniversity
是的,刚刚电脑的原因。
2012-10-27 20:39
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3451
专家分:19340
注 册:2012-3-31
收藏
得分:1 
呵呵。2楼程序运行有问题。你看看

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-10-27 22:30
小小小火柴
Rank: 5Rank: 5
来 自:江西赣州
等 级:职业侠客
威 望:3
帖 子:141
专家分:337
注 册:2012-9-28
收藏
得分:4 
   都差不多!2楼和三楼的都没问题!但是个人习惯喜欢2楼的代码,因为我写代码也是这种风格!
#include <stdio.h>
int main()
{
    int i,a,b,c;
    printf("100--999的水仙花数为:\n");
    for(i=100;i<=999;i++)
    {
        a=i%10;//获取个位数
        b=(i/10)%10;//获取十位数
        c=i/100;//获取百位数
        if(a*a*a+b*b*b+c*c*c==i)
            printf("%d\n",i);
    }
return 0;
}
 

   好好学习!
2012-10-28 11:18
小小小火柴
Rank: 5Rank: 5
来 自:江西赣州
等 级:职业侠客
威 望:3
帖 子:141
专家分:337
注 册:2012-9-28
收藏
得分:0 
回复 8楼 青春无限
    好像是复制三楼的代码会少掉一个   return 0;和 }!

   好好学习!
2012-10-28 11:19
快速回复:求“水仙花”数,哪里错了?
数据加载中...
 
   



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

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