注册 登录
编程论坛 C语言论坛

求大佬看一下c语言的一道题目

梦小123 发布于 2021-03-19 19:32, 1932 次点击
题目:
求100到n以内(n<1000),各位数字的立方和等于1099的三位数。n由键盘输入,并将这些素数存储到数组a中并输出(每个数后面带一个空格)
要求:(1)编写如下接口的功能函数:int fun(int n),该函数的功能是判断n的各个位数的立方和是不是1099。若是,返回1,若不是返回0。

           (2)main函数去调用该功能函数。
4 回复
#2
apull2021-03-19 22:20
程序代码:


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编辑过]

#3
梦小1232021-03-19 22:55
回复 2楼 apull
您好,请问为什么用a[20],知道里面一定有20个元素呢?
还有system好像没有被定义呀
#4
apull2021-03-19 23:19
system在stdlib.h里,调用系统命令,在这里用pause,起暂停作用,可以删除。
20是猜的。

[此贴子已经被作者于2021-3-19 23:21编辑过]

#5
梦小1232021-03-19 23:44
回复 4楼 apull
感谢!
1