用C语言编写一个程序输出所有的水仙花数
时间: 2024-12-24 21:22:20 浏览: 24
水仙花数( narcissistic number 或 pluperfect digital invariant)是指一个三位数,其各位数字立方和等于它自身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。以下是用C语言编写的一个简单程序,用于找出所有小于1000的水仙花数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_narcissistic(int num) {
int digits[3], sum = 0;
while (num > 0) {
digits[2] = num % 10;
sum += digits[2] * digits[2] * digits[2];
num /= 10;
}
return sum == num;
}
int main() {
for (int i = 100; i < 1000; ++i) {
if (is_narcissistic(i)) {
printf("%d ", i); // 输出找到的水仙花数
}
}
printf("\n");
return 0;
}
相关问题
c语言中编写一个程序 输出所有水仙花数
好的,以下是C语言实现输出所有水仙花数的代码:
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
printf("所有的水仙花数为:\n");
for(num = 100; num <= 999; num++) {
digit1 = num / 100; // 获取百位数字
digit2 = (num / 10) % 10; // 获取十位数字
digit3 = num % 10; // 获取个位数字
if(num == digit1 * digit1 * digit1 +
digit2 * digit2 * digit2 +
digit3 * digit3 * digit3) {
printf("%d\n", num); // 输出水仙花数
}
}
return 0;
}
```
运行程序后,即可输出所有的水仙花数。
c语言编写程序实现输出所有水仙花数
可以回答这个问题。以下是C语言编写程序实现输出所有水仙花数的代码:
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if (n == i * i * i + j * j * j + k * k * k) {
printf("%d\n", n);
}
}
return 0;
}
阅读全文