编写函数输出小于等于n的水仙花数通过课程进入题号:118 6.4编写医设有一个3位数,它的百位数、十位数、个位数的立方和正好等于这个3位数,如153 = 1 + 125 + 27。编写函数,返回小于等于传入参数n且满足该条件的三位数(称为水仙花数)的个数。(指定函数原型:int find ( int n ) )输入输出格式要求:编写函数int find ( int n )返回值要求:如果传入参数n不是三位数或者在该范围内没有找到,则find返回0,否则返回找到的水仙花数的个数。注意:不要在find函数中打印(如调用printf或puts等函数》任何数据,否则视为错误。例如:n为:400find函数应返回3上传作业返回使用C语言
时间: 2024-02-11 17:08:43 浏览: 70
好的,下面是实现小于等于n的水仙花数的函数代码:
```c
int find(int n){
if(n<100 || n>999){ // 判断传入参数n是否为三位数
return 0;
}
int cnt = 0; // 记录水仙花数的个数
for(int i=100; i<=n; i++){ // 枚举三位数
int a = i / 100; // 百位数
int b = (i / 10) % 10; // 十位数
int c = i % 10; // 个位数
if(i == a*a*a + b*b*b + c*c*c){ // 判断是否为水仙花数
cnt++;
}
}
return cnt;
}
```
注意,上述代码中并没有使用任何打印函数,只是根据题目要求返回了小于等于n的水仙花数的个数。
阅读全文