水仙花数的定义:abc=a³+b³+c³
#include<stdio.h>
int main()
{
printf("判断是否为水仙花数\n");
printf("请输入一个数:");
int n;
scanf("%d",&n);
int a = n % 10;//个位数
int b = (n / 10) % 10;//十位数
int c = n / 100;//百位数
if (n == a * a * a + b * b * b + c * c * c)
printf("%d是水仙花数", n);
else printf("%d不是水仙花数", n);
return 0;
}
上述代码为判断操作,如需输出从100~999的水仙花数都有什么 添加一个for循环即可
#include<stdio.h>
int main()
{
printf("输出100~999中的水仙花数:\n");
int i, a, b, c;
for (i = 100; i <= 999; i++) //整数的取值范围
{
int a = i % 10;//个位数
int b = (i / 10) % 10;//十位数
int c = i / 100;//百位数
if (i == a * a * a + b * b * b + c * c * c) //各位上的立方和是否与原数n相等
printf("%d\t", i);
}
return 0;
}