这个求解“完数”的代码错误在哪里呢?
程序代码:
#include "stdio.h" void main() { int i,j,n; printf("1至1000之间的完数是:\n"); j=0; for(i=2;i<=1000;i++) { int perfect(int n); n=perfect(i); if(n>0) {printf("\n%5d=",i); for(j=1;j<i;j++) {if(i%j==0) {if(j>1) printf("+"); printf("%5d",j); } } } } getch(); } int perfect(int n); { int i,sum; sum=0; for(i=1;i<n;i++) { if(n%i==0) sum+=i; } if(sum==n) return sum; return 0; }