```#include<stdio.h>
```#include<string.h>
```int getFactorsSum(int n){
int sum =0;
for(int t=1;t<n;t++){
if((n%t) == 0){
sum =sum + t;
}
}//end for
return sum;
```}
```void main(){
int perfect[10]={0},over[10]={0};
int i =0,j = 0;
for(int k=2;k<=60;k++){
if(k==getFactorsSum(k)){
perfect[i++]=k;
}
if(k<getFactorsSum(k)){
over[j++]=k;
}
}//end for
printf("Perfect numbers are\n");
for(k=0;k<i;k++){
printf( "%d\t",perfect[k]);
}
printf("\n");
printf("Over numbers are\n");
for(k=0;k<j;k++){
printf("%d\t",over[k]);
}
printf("\n");
}
求完数和盈数那个程序,一开始perfect数组里面存有6和28但是后面被56和60覆盖掉了,什么原因啊?