阅读量:2
在C语言中,可以使用如下代码表示水仙花数:
#include <stdio.h> #include <math.h> int main() { int num, originalNum, remainder, result = 0, n = 0; printf("请输入一个三位数:"); scanf("%d", &num); originalNum = num; // 计算位数 while (originalNum != 0) { originalNum /= 10; ++n; } originalNum = num; // 计算水仙花数 while (originalNum != 0) { remainder = originalNum % 10; result += pow(remainder, n); originalNum /= 10; } if (result == num) printf("%d 是一个水仙花数", num); else printf("%d 不是一个水仙花数", num); return 0; }
上述代码中,通过输入一个三位数,首先计算出该数的位数n,然后将该数的每一位上的数字求n次方,最后将这些结果相加得到result。如果result等于原始的三位数num,则该数为水仙花数,否则不是水仙花数。