123666666 发表于 2022-4-19 23:26:04

没有报错,就是输出不了

#include<stdio.h>
int main(void)
{
      static int k;
      int i,j,n,s;
      for(i=2;i<1000;i++)
      {
                n=-1;
                s=i;

                for(j=1;j<=i;j++)
                {
                        if(i%j==0)
                        {

                              s=s-j;
                              k=j;

                              n++;

                        }
                }
                if(s==0)
                {
                        printf("%d is a 完数\n",i);
                        for(i=0;i>=n;i++)
                        {
                        printf("%d\n",k);
                        printf("%d\n",k);
                        }
                }
      }
      return 0;
}
~                                                                                                      
~                                                                                                      
~                                                                                                      
~                        

zzxhh628 发表于 2022-4-20 08:43:11

你这个变量s在循环中的值一直都不是0,所以一直没有符合if语句中的条件,肯定不会输出了。

spaceman 发表于 2022-4-20 15:04:00

最后一个for循环的i>=n也错了吧
页: [1]
查看完整版本: 没有报错,就是输出不了