写出水仙花数字的c语言代码,不要写在一行
时间: 2023-09-04 19:04:03 浏览: 102
### 回答1:
#include<stdio.h>int main()
{
int i, j, k;
for(i = 100; i < 1000; i++)
{
j = i / 100;
k = i % 100;
if(i == (j * j * j + k * k * k))
{
printf("%d\n", i);
}
}
return 0;
}
### 回答2:
#include <stdio.h>
// 判断一个数是否为水仙花数的函数
int isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return num == sum;
}
int main() {
int start = 100; // 水仙花数的起始值
int end = 999; // 水仙花数的结束值
printf("水仙花数有:");
for (int i = start; i <= end; ++i) {
if (isNarcissisticNumber(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
### 回答3:
下面是使用C语言写出水仙花数的代码,每行最多不超过80个字符。其中,水仙花数是指一个3位数,它的各个数字的立方和等于它本身。
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
for (num = 100; num < 1000; 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;
}
```
这段代码通过循环遍历100-999之间的所有数,在每次循环中,将该数分解为百位数、十位数和个位数。然后,通过判断这三个数的立方和是否等于原数,来确定是否为水仙花数。如果是水仙花数,则将其输出。
阅读全文