输入2 个正整数m 和n(1≤m,n≤1000),输出m~n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。要求定义并调用函数is(number)判断number的各位数字之立方和是否等于其自身。用C语言
时间: 2024-02-15 11:05:54 浏览: 84
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
int is(int number) {
/*
* 判断一个数是否为水仙花数
* 参数:number 要判断的数
* 返回值:1为水仙花数,0为非水仙花数
*/
int num = number;
int sum = 0;
while (num) {
int digit = num % 10;
sum += pow(digit, 3); // 计算各位数字的立方和
num /= 10;
}
if (sum == number) {
return 1;
} else {
return 0;
}
}
int main() {
int m, n;
printf("Input m: ");
scanf("%d", &m);
printf("Input n: ");
scanf("%d", &n);
for (int i = m; i <= n; i++) {
if (is(i)) {
printf("%d ", i);
}
}
return 0;
}
```
你可以将上述代码复制到你的编译器中运行。当然,你也可以在我的ChitGPT中用自然语言提问,例如:“请给我一个判断水仙花数的C函数”或者“请帮我输出100到400之间的水仙花数”。
阅读全文