C语言输入一个三位数,若此数是水仙花数则输出“我是水仙花”,否则输出“我不是水仙花”,若输入值不是三位数,则输出“data error”。
时间: 2024-10-27 16:09:43 浏览: 23
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是C语言的一个简单程序,用于检查输入的三位数是否是水仙花数:
```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 % 100) / 10; // 取十位数字
digit3 = num % 10; // 取个位数字
// 计算各个位的立方并求和
int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
// 比较原数和其立方和
if (sum == num) {
printf("我是水仙花\n");
} else {
printf("我不是水仙花\n");
}
} else {
printf("数据错误\n");
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的整数,然后判断它是否为三位数。如果是,我们就计算各个位的立方和,并与原始数值比较。如果相等,那么它是水仙花数,反之则不是。
阅读全文