用函数int flower(int m)求俩个数之间的水仙花数 若有水仙花数则依次输出,若没有水仙花数输出no

要输入俩数m和n,可是永函数int flower(int m)如何实现呢?我的代码怎么出错了,它一直提示我函数有问题。w

img

你的代码错误比较多,我帮你重新写了一版,供你参考。如果对你有用,望采纳。

#include <stdio.h>

int flower(int m) {
    int n = m;
    int sum = 0;
    while (m > 0) {
        int r = m % 10;
        sum += r * r * r;
        m /= 10;
    }
    return sum == n ? 1 : 0;
}

int main () {
    int m, n;
    scanf("%d %d", &m, &n);
    int count = 0;
    for (int i = m; i <= n; i++) {
        if (flower(i)) {
            printf("%d ", i);
            count++;
        }
    }
    if (count == 0) {
        printf("no");
    }
    return 0;
}


第5行函数定义后面的分号删掉!!!