C语言定义一个函数fsxh(int n)。输入正整数n(n>100)在[n,999]范围内寻找最小水仙花数。要求输出指定范围内最小水仙花数,如果没有则输出0。
时间: 2024-02-09 12:10:55 浏览: 128
C语言编程实现输出100—999之间的水仙花数
好的,这是一个简单的问题。以下是函数fsxh(int n)的C语言代码实现:
```c
#include <stdio.h>
// 计算一个数的立方和
int cubicSum(int n) {
int sum = 0;
while (n > 0) {
int digit = n % 10;
sum += digit * digit * digit;
n /= 10;
}
return sum;
}
// 查找最小水仙花数
int findMinNarcissisticNumber(int n) {
for (int i = n; i <= 999; i++) {
if (i == cubicSum(i)) {
return i;
}
}
return 0;
}
// 主函数
int main() {
int n;
printf("请输入正整数n:");
scanf("%d", &n);
if (n <= 100) {
printf("n必须大于100!\n");
} else {
int result = findMinNarcissisticNumber(n);
if (result == 0) {
printf("在[%d, 999]范围内没有水仙花数。\n", n);
} else {
printf("在[%d, 999]范围内最小的水仙花数是:%d\n", n, result);
}
}
return 0;
}
```
这个程序定义了两个函数:`cubicSum(int n)`用于计算一个数的立方和;`findMinNarcissisticNumber(int n)`用于在指定范围内查找最小的水仙花数,如果没有则返回0。主函数中首先让用户输入正整数n,然后调用`findMinNarcissisticNumber(int n)`函数查找最小水仙花数并输出结果。
阅读全文