【发布时间】:2021-11-15 08:43:07
【问题描述】:
我正在尝试制作一个程序,其中用户不输入数组大小,但元素是,直到输入 0。现在我想检查每个元素哪个是完美数字,因为我必须做除数的总和。问题是我无法为数组中的每个元素做除数的总和,而是将数组中所有元素的所有除数相加。
#include <stdio.h>
int main()
{
int n = 1000, i, j, sum = 0;
int v[n];
for (i = 1; i < n; i++)
{
scanf("%d", &v[i]);
if (v[i] == 0)
{
break;
}
for (j = 1; j < v[i]; j++)
{
if (v[i] % j == 0)
{
printf("%d", j);
sum = sum + j;
}
}
}
printf("\n%d",sum);
return 0;
}
【问题讨论】:
-
您能否详细说明“完美”数字的含义?
-
在开始搜索每个数组元素的因子之前将
sum重置为零。 -
@AdanVivero: Perfect number.
-
这能回答你的问题吗? Perfect Number In C
-
@Renat no 因为它不使用数组,我可以不使用数组来做到这一点。
标签: c