从屏幕上输出所有的“水仙花数”,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如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;
}
为啥输不出呢?
#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修饰的是错误的
main函数前用void,下面不用加return 0;语句