编程找出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的啊.为什么输不出来呢?
楼主眼误,你的程序完美地按你的想法输出了,只不过看k[0]=1直接显示在了%d is a wanshu之后,因为你没有打换行符!看下图 所以我建议你在%d is a wanshu之后打上\n换一行,这样比较好看。
答:网上有,你用百度搜一下就知道了详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>