功能:编写一个函数sxh(),它的功能是判断一个三位数是不是水仙花数。 主函数去调用sxh(),输出100-1000内所有水仙花数。(普通变量作为函数参数) ------------------------------------------------------------------*/ #include<stdio.h> int narcis(int num) { int n,i,j,k; printf("narcissus numbers are:"); for(n=100;n<num;n++) { /**************Begin***************/ /**************End***************/ if(n==i*i*i+j*j*j+k*k*k) printf("%d ",n); } return n; printf("\n"); } void main() { int number; printf("please input number:"); scanf("%d",&number); narcis(number); printf("\n"); }
时间: 2023-07-01 07:21:08 浏览: 187
下面是符合要求的代码:
```
#include <stdio.h>
int sxh(int num) {
int i,j,k,n;
printf("narcissus numbers are:");
for(n=100;n<num;n++) {
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if(n == i*i*i + j*j*j + k*k*k) {
printf("%d ",n);
}
}
printf("\n");
return n;
}
int main() {
int number;
printf("please input number:");
scanf("%d",&number);
sxh(number);
return 0;
}
```
在这个程序中,我们定义了一个函数sxh(),它的作用是判断一个三位数是不是水仙花数。主函数调用sxh(),输出100-1000内所有的水仙花数。
在sxh()函数中,我们使用for循环遍历了100到num-1的所有数,然后使用数学公式计算出每个数的百位、十位和个位上的数字,最后使用if语句判断这个数是否是水仙花数,如果是,就输出它。
在主函数中,我们首先让用户输入一个数字,然后调用sxh()函数,输出100到这个数字内所有的水仙花数。
阅读全文