用C语言输出所有的水仙花数
时间: 2023-06-09 11:08:48 浏览: 140
好的,下面是使用C语言输出所有的水仙花数的代码示例:
```c
#include <stdio.h>
#include <math.h>
// 计算一个数的位数
int get_num_digits(int num) {
int count = 0;
while (num > 0) {
++count;
num /= 10;
}
return count;
}
// 判断一个数是否为水仙花数
int is_narcissistic_number(int num) {
int sum = 0;
int original_num = num;
int num_digits = get_num_digits(num);
while (num > 0) {
int digit = num % 10;
sum += pow(digit, num_digits);
num /= 10;
}
return original_num == sum;
}
// 输出所有的水仙花数
void print_narcissistic_numbers() {
printf("所有的水仙花数为:\n");
for (int i = 100; i <= 999; ++i) {
if (is_narcissistic_number(i)) {
printf("%d\n", i);
}
}
}
int main() {
print_narcissistic_numbers();
return 0;
}
```
代码中的 `get_num_digits` 函数用于计算一个数的位数,`is_narcissistic_number` 函数用于判断一个数是否为水仙花数, `print_narcissistic_numbers` 函数用于输出所有的水仙花数。在 `main` 函数中,调用 `print_narcissistic_numbers` 函数即可输出所有的水仙花数。
阅读全文
相关推荐















