输出100-999之间的水仙花数
#include <stdio.h>
int main()
{
int a,b,c,i;
for (i=100; i<=999; i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
{
printf("水仙花数:%d\n",i);
}
}
return 0;
}
代码运行结果如图;
附:判断一个三位数是否为水仙花数:
#include<stdio.h>
#include<math.h>
int main()
{
int a=0;
int b=0;//个位数
int c=0;//十位数
int d=0;//百位数
int sum=0;
printf("请输入一个三位数的正整数:");
scanf("%d",&a);
if(a>=100&&a<=999)
{
d=a/100;
c=(a/10)%10;
b=a%10;
sum=b*b*b+c*c*c+d*d*d;
if(sum!=a)
printf("%d不是一个水仙花数!\n",a);
else
printf("%d是一个水仙花数!\n",a);
}
else
printf("输入错误,请重新输入!\n");
return 0;
}
运行结果如图:
菜菜的代码,希望能够帮助到你哟!