求大佬看一下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编辑过]