这个判断完数的程序哪里错了??为什么不显示?
完数就是一个数的所有因子之和等于其本身,这个程序时输出2--n 之间的完数,n是由键盘读入一个数字#include <stdio.h>
#include <stdlib.h>
#define N 50
main()
{
int a,b,c,d,e;
int n,f,g[N];
int sum;
sum=0;
b=0;c=0;d=0;e=0;
printf("请输入一个数字:");
scanf("%d",&n);
for(a=2;a<=n;a++)
{
for(c=1;c<a;c++)
{
if(a%c==0)
g[d++]=c;}
for (f=0;f<=d;f++)
sum+=g[f];
if(sum==a)
{
printf("%-3d",a);
e++;
if(e%5==0)
printf("\n");
}
}
system("pause");
}