c语言while水仙花数一行输入两个数
时间: 2024-12-11 16:31:05 浏览: 8
c语言竞赛题,百度文库上下的,东西不错
在C语言中,"水仙花数"是指那些每一位数字的立方和等于原数本身的三位数。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
如果你想让用户通过一行输入两个整数,并判断它们是否都是水仙花数,可以编写这样的程序:
```c
#include <stdio.h>
#include <math.h>
// 判断一个数是否是水仙花数
int isArmstrong(int num) {
int original = num;
int sum = 0;
int temp;
while (num != 0) {
temp = num % 10;
sum += pow(temp, 3);
num /= 10;
}
return original == sum;
}
int main() {
int num1, num2;
// 输入两个数
printf("请输入两个整数,用空格隔开:");
scanf("%d %d", &num1, &num2);
// 检查每个输入的数是否为水仙花数
if (isArmstrong(num1) && isArmstrong(num2)) {
printf("两个数都是水仙花数。\n");
} else {
printf("不是所有数字都是水仙花数。\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个`isArmstrong`函数来检查一个数是否是水仙花数,然后在`main`函数中读取用户输入并使用这个函数来判断。
阅读全文