帮我写一个关于水仙花数的c语言代码
时间: 2023-09-12 09:05:15 浏览: 106
### 回答1:
以下是一个检查水仙花数的C语言代码: #include <stdio.h> int main()
{
int num, originalNum, remainder, result = 0;
printf("输入一个三位数: ");
scanf("%d", &num);
originalNum = num; while (originalNum != 0)
{
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
} if (result == num)
printf("%d 是水仙花数。", num);
else
printf("%d 不是水仙花数。", num);
return 0;
}
### 回答2:
水仙花数是指一个三位数,每个位上的数字的立方和等于该数本身。现在我们来写一个求解水仙花数的C语言代码。
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("水仙花数有:\n");
for (num = 100; num <= 999; num++) {
sum = 0;
for (int i = 0; i < 3; i++) {
digit = (num / (int)pow(10, i)) % 10;
sum += pow(digit, 3);
}
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
这段代码首先声明了变量`num`表示三位数,`digit`表示数字的每一位,以及`sum`用来保存每一位数字的立方和。
然后通过一个循环从100到999遍历所有的三位数。在每次循环中,首先将`sum`设为0,然后通过另一个循环将当前的`num`每一位的数字分离出来,计算每一位数字的立方,并累加到`sum`中。
最后,判断`sum`是否等于`num`,如果相等,则打印出当前的`num`,即一个水仙花数。
这段代码能够输出所有的水仙花数,即153、370、371、407。
希望对你有帮助!
### 回答3:
水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。例如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个关于水仙花数的C语言代码示例:
```c
#include <stdio.h>
int main() {
int i, num, digit, sum;
printf("水仙花数是:\n");
for (i = 100; i < 1000; i++) {
num = i;
sum = 0;
while (num != 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
```
这段代码使用了一个for循环,遍历从100到999的所有三位数。在每次循环中,使用一个while循环将当前数的每个位的立方相加。如果相加的结果等于原数,则打印出这个数,即水仙花数。
阅读全文