C语言输出水仙花数
水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。要判断一个数是否是水仙花数,必须先计算出这个数的位数。
操作方法
- 01
创建一个文本文件,重命名为1.c,然后双击打开
- 02
在打开的文件的右边窗口中写上如下代码 #include<stdio.h> #include<math.h> int main() { return 0; }
- 03
写完整体的框架之后,在写判断一个数是几位数的代码 char num_ws(int num) { char n = 1; while (1) { if(num/10==0) { break; } else { n += 1; num /= 10; } } return n; }
- 04
关键的代码是判断一个数是否是水仙花数,代码如下 char is_sxh(int num) { int temp = num,sum = 0; char i; char n = num_ws(num); for(i=0;i<n;i++) { sum += pow(temp%10,n); temp /= 10; } if(num == sum) return 1; else return 0; }
- 05
最后在主程序中写上测试代码,判断是否正确
- 06
总体的框架如下图所示
- 07
测试结果如下,1表示是水仙花数,0表示不是水仙花数
赞 (0)