c语言使用if双分支结构实现:输入一个三位整数,判断其是否为水仙花数。若三位整数a的每位数字的立方和等于其自身,则称a是水仙花数。如输入153,输出“153是水仙花数”;输入100,输出“100不是水仙花数”
时间: 2024-12-29 14:34:58 浏览: 9
在C语言中,可以使用`if`语句的双分支结构来实现这个功能。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3;
printf("请输入一个三位数:");
scanf("%d", &num);
// 检查数字是否为三位数
if(num >= 100 && num <= 999) {
// 提取每一位数字
digit1 = num / 100; // 最高位
digit2 = (num / 10) % 10; // 十位
digit3 = num % 10; // 个位
// 计算每个位的立方和
int sumOfCubes = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
// 比较和判断是否为水仙花数
if (sumOfCubes == num) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
} else {
printf("输入的不是一个三位数\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入,然后检查是否为三位数。接着,我们将输入的数分解成个位、十位和百位三个部分,并计算它们各自的立方和。最后,如果立方和等于原数,那么它是水仙花数,反之则不是。
阅读全文