使用函数输出水仙花数 c语言
时间: 2024-06-15 16:03:00 浏览: 26
在C语言中,可以使用函数来输出水仙花数。水仙花数是指一个n位数,其各个位上的数字的n次方之和等于该数本身。以下是一个示例代码:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
int isArmstrong(int num);
int main() {
int start, end, i;
printf("请输入起始数:");
scanf("%d", &start);
printf("请输入结束数:");
scanf("%d", &end);
printf("水仙花数:");
for (i = start; i <= end; i++) {
if (isArmstrong(i)) {
printf("%d ", i);
}
}
return 0;
}
// 判断是否为水仙花数的函数
int isArmstrong(int num) {
int originalNum, remainder, n = 0, result = 0;
originalNum = num;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算各位数字的n次方之和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 判断是否为水仙花数
if (result == num) {
return 1;
} else {
return 0;
}
}
```
这段代码中,我们定义了一个`isArmstrong`函数来判断一个数是否为水仙花数。然后在`main`函数中,我们通过输入起始数和结束数,使用循环遍历这个范围内的所有数,并调用`isArmstrong`函数来判断是否为水仙花数,如果是则输出。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)