C程序语言水仙花数是指这样一种三位数,各个数位的立方和加起来等于这个数本身,如153=13+5³+33,试编制一个程序,验证从键盘上输入的一个数是否为水仙花数。如果输入数据不正确(不是三位正整数),则提示:输入错误!
时间: 2024-09-30 18:14:51 浏览: 52
在C程序中,我们可以编写一个函数来检查一个三位数是否是水仙花数。首先,我们需要获取用户输入并确保它是一个正整数。然后,我们将数字分解成百、十、个位三个部分,计算它们各自的立方和并与原数比较。以下是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
// 函数来判断一个数是否为水仙花数
int is_armstrong(int num) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int ones = num % 10;
int sumOfCubes = pow(hundreds, 3) + pow(tens, 3) + pow(ones, 3);
return sumOfCubes == num;
}
int main() {
int input;
printf("请输入一个三位正整数: ");
scanf("%d", &input);
// 验证输入是否正确
if(input >= 100 && input <= 999) {
if(is_armstrong(input)) {
printf("%d 是水仙花数.\n", input);
} else {
printf("%d 不是水仙花数.\n", input);
}
} else {
printf("输入错误!\n");
}
return 0;
}
```
阅读全文