用C语言反向输出数组

题目:从键盘输入5个整数。要求逆向输出该数组。
程序如下:
#include "stdio.h"
main()
{
int a[5],i,temp;
printf("输入5个整数:") ;
for(i=0;i<5;i++)
{scanf("%d",&a[i]); <br/> printf("%d ",a[i]) ;<br/> }
printf("\n");
printf("逆向输出:\n");
for(i=0;i<5/2;i++)
{
temp=a[i];
a[i]=a[5-i-1];

}
for(i=0;i<5;i++)
printf("%d ",a[i]) ;
}

输入5个整数:0 1 2 3 4
0 1 2 3 4
逆向输出: 4 3 2 3 4

但是,正确答案应该是输出为:4 3 2 1 0 。请问该程序错在哪里,如何修改?

#include<stdio.h>
void main()
{
int j,i,m,a[100],n;
printf("输入数组的元素的个数(0<n<100):");
scanf("%d",&n);
printf("输入元素\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0,m=n-1;i<n/2;i++,m--)
{
j=a[i];
a[i]=a[m];
a[m]=j;
}
for(i=0;i<n;i++)
printf("%4d",a[i]);

}
温馨提示:答案为网友推荐,仅供参考
相似回答