(c语言)xcode输出框第二行为什么会空两格显示

即使我让他一行显示10个数字他也会显示超出10个,不懂什么问题啊,求大神解释一下~~#include <stdio.h>#include<math.h>int main(){ int i,j,n,a[101]; for(i=1;i<=100;i++) a[i]=i; a[1]=0; for(i=2;i<=sqrt(100);i++) {for(j=i+1;j<=100;j++) if(a[i]!=0 && a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } for(i=2,n=0;i<=100;i++) {if(a[i]!=0) printf("%5d",a[i]); n++; } if(n%10==0) {printf("\n"); n=0;} printf("\n"); return 0;}

你的if(n%10==0这个判断是独立在循环外的,所以并不会进行10个数字换行的显示,另外你在这个if中将n置0也完全没必要,可以改为
#include <stdio.h>
#include<math.h>
int main() {
int i,j,n,a[101];
for(i=1; i<=100; i++)
a[i]=i;
a[1]=0;
for(i=2; i<=sqrt(100); i++) {
for(j=i+1; j<=100; j++)
if(a[i]!=0 && a[j]!=0)
if(a[j]%a[i]==0) a[j]=0;
}
for(i=2,n=0; i<=100; i++) {
if(a[i]!=0) {
n++;
printf("%5d",a[i]);
if(n%10==0)
printf("\n");
}
}

printf("\n");
return 0;
}
温馨提示:答案为网友推荐,仅供参考