水仙花数c语言程序输入多个数组不是水仙花数则输出no
时间: 2024-12-14 22:27:18 浏览: 2
水仙花数c语言程序.docx
在C语言中编写一个判断水仙花数的程序,可以接受用户输入的一个整数数组,然后遍历数组,对每个数字检查是否为水仙花数。水仙花数是指那些每一位数字的立方和等于其本身的三位数,例如153 = 1^3 + 5^3 + 3^3。
以下是简单的C语言函数实现这个功能:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数计算并返回一个数字的各位立方和
int sumOfCubes(int num) {
int cubeSum = 0;
while (num != 0) {
cubeSum += (num % 10) * (num % 10) * (num % 10);
num /= 10;
}
return cubeSum;
}
// 主函数处理输入数组
void checkWaterLily(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (sumOfCubes(arr[i]) == arr[i]) {
printf("%d 是水仙花数\n", arr[i]);
} else {
printf("%d 不是水仙花数\n", arr[i]);
}
}
}
int main() {
int n, array[100];
printf("请输入数组元素的数量:");
scanf("%d", &n);
// 输入数组
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &array[i]);
}
checkWaterLily(array, n);
return 0;
}
```
在这个程序中,用户首先输入数组大小,然后依次输入数组元素。`checkWaterLily`函数会遍历数组,对于每个元素,如果它的各位数字立方和等于它本身,就输出它是水仙花数,否则输出不是。
阅读全文