输入一个三位的正整数,判断该数是否为水仙花数。(水仙花数的是指一个三位数,其各位数字的立方各等于该数本身。C语言编码。加注释
时间: 2023-06-15 13:05:00 浏览: 846
```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;
}
```
注释已加在代码中。
相关问题
从键盘输入一个三位正整数,判断它是否为水仙花数,水仙花数 指一个3位数,它的各位数字立方和等于该数本身,若该数是水仙花数,存入列表,最后输出统计完成的列表。
好的,这个问题需要用到循环和条件判断语句,下面是Python的代码实现:
```
result_list = [] # 用于存储水仙花数的列表
for num in range(100, 1000):
# 将三位数拆分出个位、十位、百位
a = num // 100 # 百位数
b = num // 10 % 10 # 十位数
c = num % 10 # 个位数
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
result_list.append(num)
print("水仙花数有:", result_list)
```
在上面的代码中,我们通过一个for循环遍历100到999之间的所有三位数,然后将每个三位数拆分出其百位数、十位数和个位数,根据水仙花数的定义判断该数是否为水仙花数,如果是就将其添加到结果列表中。最后输出结果列表即可。
你可以自己试着运行一下这个程序,看看输出结果是否正确。
使用C语言实现输入一个三位的正整数,判断该数是否为水仙花数。(水仙花数的是指一个三位数,其各位数字的立方各等于该数本身。
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
printf("请输入一个三位的正整数:");
scanf("%d", &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);
} else {
printf("%d不是水仙花数\n", num);
}
return 0;
}
```
代码中,首先通过 `scanf` 函数获取用户输入的三位正整数。然后,通过数学运算分别计算出该数的百位、十位和个位数字。接着,判断该数是否为水仙花数,如果是,则输出“是水仙花数”,否则输出“不是水仙花数”。
阅读全文