帮我写个C语言水仙花数的代码
以下是C语言求水仙花数的代码:
#include <stdio.h>
#include <math.h>
int main()
{
int num, originalNum, remainder, n = 0;
float result = 0.0;
printf("Enter an integer: ");
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 ((int)result == num)
printf("%d is an Armstrong number.", num);
else
printf("%d is not an Armstrong number.", num);
return 0;
}
以上代码中使用了两个 while 循环,第一个循环用于计算数字位数,第二个循环用于计算每个数字的立方和。最后判断是否为水仙花数并输出结果。
原文地址: https://www.cveoy.top/t/topic/Oap 著作权归作者所有。请勿转载和采集!