求大佬看一下c语言的一道题目
											题目:求100到n以内(n<1000),各位数字的立方和等于1099的三位数。n由键盘输入,并将这些素数存储到数组a中并输出(每个数后面带一个空格)
要求:(1)编写如下接口的功能函数:int fun(int n),该函数的功能是判断n的各个位数的立方和是不是1099。若是,返回1,若不是返回0。
(2)main函数去调用该功能函数。
程序代码:
int fun(int n)
{
    if (n < 100 || n > 1000) return 0;
    int a, b, c;
    a = n / 100;
    b = (n - a * 100) / 10;
    c = (n - a * 100 - b * 10);
    return  (a*a*a + b*b*b + c*c*c == 1099);
}
int main()
{
    int n,a[20];
    scanf("%d", &n);
    int count = 0;
    for (int i = 100; i <= n; ++i)
    {
        if (fun(i))
        {
            a[count] = i;
            ++count;
        }
    }
    for (int i = 0; i < count; ++i)
    {
        printf("%d ", a[i]);
    }
    system("pause");
    return 0;
}
[此贴子已经被作者于2021-3-19 22:22编辑过]