编辑代码

#include <stdio.h>
int main () 
{
    int i=0,j=0,s=0,n=0;
    scanf("%d",&n);
    for(i=3;i<=n;i++)
    {
        s=0;
        for(j=1;j<i;j++)
      {
        if(i%j==0)
        s=s+j;
      }
    if(i==s)
    {
        printf("%d\n",i);
    } 

} 
     return 0;
}
//在这个程序里,i, j之间的逻辑关系错了很多次,尤其是 ij的初始值应该怎么取值,以及因为有两个循环,所以还得深思熟虑,多练才行。