用C语言编写一个函数判断给定的整数是否为水仙花数
时间: 2024-05-29 15:11:56 浏览: 15
#include <stdio.h>
int isNarcissisticNumber(int num);
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if(isNarcissisticNumber(num)) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
return 0;
}
int isNarcissisticNumber(int num) {
int sum = 0, temp = num, digit;
while(temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return (sum == num);
}
相关问题
用c语言编写两个函数 ,一个判断给定整数是否为水仙花数,另一个按从小到大的顺序打印出给定区间内所有的水仙花数
以下是两个函数的实现:
```c
#include <stdio.h>
#include <math.h>
// 判断一个整数是否为水仙花数
int isNarcissisticNumber(int n) {
int sum = 0, temp = n, digits = 0;
while (temp != 0) {
digits++;
temp /= 10;
}
temp = n;
while (temp != 0) {
sum += pow(temp % 10, digits);
temp /= 10;
}
return sum == n;
}
// 按从小到大的顺序打印出给定区间内所有的水仙花数
void printNarcissisticNumbers(int start, int end) {
int i;
for (i = start; i <= end; i++) {
if (isNarcissisticNumber(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int start, end;
printf("请输入区间的起始值和终止值:");
scanf("%d %d", &start, &end);
printf("%d到%d之间的水仙花数有:\n", start, end);
printNarcissisticNumbers(start, end);
return 0;
}
```
在 `isNarcissisticNumber` 函数中,我们先计算出这个整数的位数 `digits`,然后在循环中计算每一位的 `digits` 次方并累加到 `sum` 中。最后判断 `sum` 是否等于原始整数即可。
在 `printNarcissisticNumbers` 函数中,我们遍历给定区间内的所有整数,判断是否为水仙花数,如果是则打印出来。
C语言函数要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
以下是两个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");
}
```
相关推荐
![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_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)
![](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)