用c语言求100以内水仙花数之和
时间: 2024-09-27 07:17:26 浏览: 39
在C语言中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。为了计算100以内所有水仙花数的和,你可以编写一个简单的循环,检查每个三位数是否满足条件,并累加起来。
下面是一个基本的C程序示例:
```c
#include <stdio.h>
#include <math.h>
int main() {
int sum = 0; // 初始化总和为0
for (int num = 100; num >= 10; num--) { // 遍历从100到99(逆序遍历防止重复)
int digits[3]; // 临时数组存储百位、十位和个位
int temp = num;
int digit_sum = 0;
// 分离每一位数字
while (temp != 0) {
digits[2] = temp % 10;
temp /= 10;
digit_sum += pow(digits[2], 3); // 累加立方值
}
// 判断是否是水仙花数
if (digit_sum == num) {
sum += num; // 如果是,累加到总和
}
}
printf("100以内所有水仙花数的和是:%d\n", sum);
return 0;
}
```
运行这个程序后,它会输出100以内水仙花数的和。
阅读全文