搜索
查看: 1055|回复: 1
打印 上一主题 下一主题

我的水仙花数为什么错了

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-22 15:46:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iostream>
using namespace std;
int number(int x,int y);
int main()
{       int f_numbers;
            f_numbers=number(10,999);
                cout<<f_numbers<<endl;
                return 0;
}
int number(int x,int y)
{
        int i,s;
        for(i=x;i<=y;i++)
                s=i/100;
                int m=(i-s*100)/10;
                int l=i-s*100-m*10;
                if(s*s*s+m*m*m+l*l*l==i)
    return i ;
       
}

为什么编译出来是1000?我想编译一个水仙花数(我用的是C++)
沙发
发表于 2013-5-22 16:05:32 | 只看该作者
如果你要打印范围内所有水仙花数
  1. f_numbers=number(10,999);
  2. cout<<f_numbers<<endl;
复制代码
除非能返回一个数组,这么做才能打印出所有水仙花数,但c++不能返回数组
你可以number返回一个序列,然后重载<<运算符,但那么做太麻烦了

一般的思路是用number检验一个数是不是水仙花数
然后再用一个循环把所有你要检查的数送进去

评分

参与人数 1啊哈币 +10 收起 理由
啊哈磊 + 10 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表