请问这个的程序和相关的流程图是怎么样的?

使用函数输出水仙花数:输入 2 个正整数 m 和 n(1<=m,n<=1000),输出 m 到 n 之间 的所有满足各位数字的立方和等于其自身的数。要求定义并调用函数 is(number)判断 number 的各位数字之立方和是否等于其自身,若相等则返回 1,否则返回 0。试编写相应程序。

直接给你程序,你看着程序就知道了

#include<stdio.h>

bool is( int number );

int main() {
    int m, n;
    scanf("%d%d", &m, &n);
    while ( m <= n ) {
        if ( is(m) ) {
            printf("%d ", m);
        }
        m++;
    }
}

bool is(int number) {
    int ge = 0, si = 0, bai = 0, qian = 0 ;
    if ( number >= 1000 ) {
        qian = (number / 1000) % 10;
    }
    if ( number >= 100) {
        si = (number / 100) % 10;
    }
    if ( number >= 10 ) {
        bai = (number / 10) % 10;
    }
    if ( number >= 1 ) {
        ge = number % 10;
    }
    //printf("%d,%d,%d,%d,%d\n",number,qian ,bai,si ,ge );
    if ( number == qian * qian * qian + bai * bai * bai + si * si * si + ge * ge * ge ) {
        return true;
    } else {
        return false;
    }
}

供参考:

#include <stdio.h>
int is(int number)
{
    int n=number,t=0;
    while (n){
        t+=(n%10)*(n%10)*(n%10);
        n/=10;
    }
    return t == number;
}
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    for (m;m<=n;m++)
        if (m>99 && is(m))
            printf("%d ", m);
    return 0;
}