自恋性数:如果一个正整数等于其各个数字的立方和。如407=4^3+0^3+7^3就是一个自恋性数。编写程序求1000以内的所有自恋性数。
#include<stdio.h>
int fun(int n)
{
int y,x=0;
int m;
m=n;
do{
y=n%10;
x+=y*y*y;
n=n/10;
}while(n);
if(x==m){
return 1;
}else{
return 0;
}
}
int main()
{
int i;
for(i=0;i<=1000;i++){
if(fun(i)==1){
printf("%d\n",i);
}
}
return 0;
}
注意:如果一个函数中后续将一个变量a的值更新了,但是在后续操作中又想用到变量a的初始值的时候,需要定义一个变量b来储存此变量a的值。