所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。
例如,153是水仙花数,因为153=1^3+5^3+3^3
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
printf("请输入一个三位数:\n");
int num = 0;
int a = 0;
while (scanf("%d", &num) != EOF)
{
int a = 0;
a = num;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
if (a < 100 || a>999)
{
printf("输入错误,请重新输入\n\n");
continue;
}
b = a % 10;//个位
a = a / 10;
c = a % 10;//十位
a = a / 10;
d = a % 10;//百位
e = b * b * b + c * c * c + d * d * d;
printf("%d^3 + %d^3 + %d^3 = %d\n", b, c, d, e);
if (num == e)
printf("%d是水仙花数\n\n", num);
else
printf("%d不是水仙花数\n\n", num);
}
return 0;
}