爱问知识人 爱问教育 医院库

编程找出1000以内的所有完数

首页

编程找出1000以内的所有完数

#include "stdio.h"
#include "conio.h"
main()
{
  static int k[10];
  int i,j,n,s;
  for(j=2;j<1000;j++)
  {
    n=-1;
    s=j;
    for(i=1;i<j;i++)
    {
      if((j%i)==0)
      {
        n++;
        s=s-i;
        k[n]=i;
      }
    }
    if(s==0)
    {
      printf("%d is a wanshu",j);
      for(i=0;i<=n;i++)
      printf("%d,",k[i]);
        printf("%d\n",k[n]);
    }
  }
  getch();
}


为什么不可以把
 printf("%d,",k[i]);
        printf("%d\n",k[n]);
这两句转换成
printf("%d\n",k[i]);
呢?我认为k[0]应该输出1的啊.为什么输不出来呢? 

提交回答
好评回答
  • 2018-03-23 11:16:43
    楼主眼误,你的程序完美地按你的想法输出了,只不过看k[0]=1直接显示在了%d is a wanshu之后,因为你没有打换行符!看下图
    所以我建议你在%d is a wanshu之后打上\n换一行,这样比较好看。

    张***

    2018-03-23 11:16:43

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 171-190
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):