问答详情
源自:4-9 循环结构之for循环(二)

相似的题目,求大神帮忙

从屏幕上输出所有的“水仙花数”,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如153就是一个,要求:定义一个函数来判断一个数是否是“水仙花数”,如果是则返回1,不是则返回0

#include<stdio.h>

#include<math.h>

void main()

{

   int m;

  int res(int  n);

for(m=100;m<1000;m++)

if(res(m)==1)

    printf("%d\n",m)

}

int res(int n)

{

int i,j,k;

i=n/100;

j=(n/10)%100;

k=n%100;

if(n=pow(i,3)+pow(j,3)+pow(k,3))

    return1;

else

   return0; 

}


为啥输不出呢?



提问者:年轻没有甚么不可能 2015-05-13 20:03

个回答

  • 康振宁
    2015-05-14 11:14:50
    已采纳

    #include<stdio.h>
    #include<math.h>
    int res(int n)
    {
        int i,j,k;
        i=n/100;
        j=(n%100)/10;
        k=n%10;
        if(n==pow(i,3)+pow(j,3)+pow(k,3))
            return 1;
        else
           return 0; 
    }
    int main()
    {
        int m;
        int res(int  n);
        for(m=100;m<1000;m++)
        {
            if(res(m)==1)
                printf("%d\n",m);
        }
        return 0;
    }

    代码已修改,自己吧。另外严重提醒你的时候,main函数别用void修饰。某些书籍上void修饰的是错误的

  • 慕少6317448
    2015-06-25 00:22:04

    main函数前用void,下面不用加return 0;语句