C语言:一个数如果恰好等于它的所有因子之和,这个数就称为“完数”.编写程序找出1000之内的所有完数我在网上查到的代码如下:#includevoid main(){\x09int i,j,k,h,s,sum;\x09int a[1000];\x09sum = 0;\x09for(

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 12:53:32
C语言:一个数如果恰好等于它的所有因子之和,这个数就称为“完数”.编写程序找出1000之内的所有完数我在网上查到的代码如下:#includevoid main(){\x09int i,j,k,h,s,sum;\x09int a[1000];\x09sum = 0;\x09for(

C语言:一个数如果恰好等于它的所有因子之和,这个数就称为“完数”.编写程序找出1000之内的所有完数我在网上查到的代码如下:#includevoid main(){\x09int i,j,k,h,s,sum;\x09int a[1000];\x09sum = 0;\x09for(
C语言:一个数如果恰好等于它的所有因子之和,这个数就称为“完数”.编写程序找出1000之内的所有完数
我在网上查到的代码如下:
#include
void main()
{
\x09int i,j,k,h,s,sum;
\x09int a[1000];
\x09sum = 0;
\x09for(i = 2; i

C语言:一个数如果恰好等于它的所有因子之和,这个数就称为“完数”.编写程序找出1000之内的所有完数我在网上查到的代码如下:#includevoid main(){\x09int i,j,k,h,s,sum;\x09int a[1000];\x09sum = 0;\x09for(
for(j = 1;j < i;j++)
{
if(i % j == 0)
{
a[k] = j;
k++;
}
}
这个循环是用来找数i的因数j的.每次找到一个因数j,就存放在数组a[]中,下标就是k.
for(h = 0;h < k; h++)
{
s += a[h];
}
这个循环中,h相当于就是对数组a从0到k遍历相加.因为在上一个循环中,每次找到一个因数j,存放在数组a中后,k都做了++操作,所以k的值是在增加的,到最后跳出循环的时候,k的值就是数i的因数的个数了,也就是说数组a中有k个元素了.所以第三个循环时候h是从0开始,以小于k做结束条件的.