C语言函数要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
时间: 2024-06-13 21:06:05 浏览: 130
以下是两个C语言函数的实现,一个用于判断给定整数是否为水仙花数,另一个用于按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数:
```c
#include <stdio.h>
#include <math.h>
// 判断给定整数是否为水仙花数
int narcissistic(int number) {
int sum = 0;
int count = 0;
int temp = number;
while (temp != 0) {
count++;
temp /= 10;
}
temp = number;
while (temp != 0) {
sum += pow(temp % 10, count);
temp /= 10;
}
if (sum == number) {
return 1;
} else {
return 0;
}
}
// 按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数
void PrintN(int m, int n) {
int i;
int flag = 0;
for (i = m; i <= n; i++) {
if (narcissistic(i)) {
printf("%d ", i);
flag = 1;
}
}
if (!flag) {
printf("no");
}
printf("\n");
}
```
阅读全文