这是题目
#include<stdio.h>
#define N 10
int main()
{
int a[N],i,b;
for(i=0;i<N;i++)
{
scanf("%d",&b);
char c=getchar();
a[i]=b;
if(c!=' ')break;
}
for(i=N-1;i>=0;i--)
printf("%4d ",a[i]);
return 0;
}
运行结果是这样的
想知道为什么输出中写了%4d为什么还是会输出7位数字,应该怎么改正呢
代码如下,望采纳
#include<stdio.h>
int main() {
int a[10];
for(int i=0; i<10; i++)
scanf("%d", &a[i]);
for(int i=9; i>=0; i--) {
if(a[i]<10000)
printf("%4d", a[i]);
else
printf(" %d", a[i]);
}
return 0;
}