使用C语言实现输入一个三位的正整数,判断该数是否为水仙花数。(水仙花数的是指一个三位数,其各位数字的立方各等于该数本身。
时间: 2023-06-19 19:07:46 浏览: 86
可以使用以下代码实现:
```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` 函数获取用户输入的三位正整数。然后,通过数学运算分别计算出该数的百位、十位和个位数字。接着,判断该数是否为水仙花数,如果是,则输出“是水仙花数”,否则输出“不是水仙花数”。
相关问题
用c语言写输入一个三位的正整数,判断它是否为水仙花数,若是,输出yes,若不是输出no
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int n, sum = 0, temp;
printf("请输入一个三位的正整数:");
scanf("%d", &n);
temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == n) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
这个程序中,我们首先通过 `scanf` 函数读入一个三位的正整数 `n`。然后,我们将 `n` 的每一位数字的立方相加,得到 `sum`。最后,判断 `sum` 是否等于 `n`,如果相等,则说明 `n` 是水仙花数,输出 `yes`,否则输出 `no`。
编写C语言程序,从键盘输入任意一个3位正整数,判断是否"水仙花数"
水仙花数是指一个三位数的各位数字的立方和等于该数本身,例如153就是一个水仙花数,因为1的立方+5的立方+3的立方等于153。
以下是实现该功能的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;
}
```
程序首先从键盘输入一个三位正整数,然后将其各位数字分别提取出来。通过计算各位数字的立方和,判断该数是否为水仙花数,并输出相应的结果。