C语言编程题 求所有的水仙花数之和(水仙花数:三位数且各个位数上的立方和等于自身,例如:153=1**1*1+5*5*5+3*3*3,153就是水仙花数)
时间: 2024-06-28 12:01:02 浏览: 5
在C语言中,你可以使用循环和条件判断来解决这个问题。这里是一个简单的示例代码,它会计算并返回所有三位数的水仙花数之和:
```c
#include <stdio.h>
int is narcissistic(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
int sum_of_narcissistic_numbers(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (is_narcissistic(i)) {
sum += i;
}
}
return sum;
}
int main() {
int start = 100, end = 999;
int result = sum_of_narcissistic_numbers(start, end);
printf("所有三位数水仙花数的和为: %d\n", result);
return 0;
}
```
在这个代码中:
- `is_narcissistic` 函数用于检查一个数字是否是水仙花数。
- `sum_of_narcissistic_numbers` 函数遍历从100到999的所有数字,并对水仙花数求和。
- 主函数中调用这个函数并输出结果。
如果你想运行这个程序,只需复制代码到一个C文件中,如`narcissistic_sum.c`,然后用`gcc`编译并运行:
```sh
gcc narcissistic_sum.c -o narcissistic_sum
./narcissistic_sum
```
执行后,它会输出所有三位数水仙花数的和。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)