输入10个数存入数组,然后逆序存储并输出。

大家好,这个我写了好多遍,提交时就是过不去,咋回事啊?请帮我看一下,谢谢了!
下面是我的问题:

输入10个整数存入一维数组a,然后按逆序重新存储数据,最后按顺序输出该数组,每个数据占5列。例如输入
2 5 6 7 1 8 9 0 3 6
后,a(0)-a(9)依次为2、5、6、7、1、8、9、0、3、6,逆序重新存储数据后a(0)-a(9)依次为6、3、0、9、8、1、7、6、5、2,输出应为
    6    3    0    9    8    1    7    6    5    2

注意:语言选DEV  C++。

#include
#include
main()
{
    int a[10];
    int i,t;
    scanf("%d",&a[i]);
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    for(i=0;i<10/2;i++)
    {
        t=a[i];
        a[i]=a[10-1-i];
        a[10-1-i]=t;
    }
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    printf("\n");
}

main()
这是turbo c老式写法,现代的编译器应该加上返回值
int main()

第一个scanf("%d",&a[i]);,不能这样实现输入,必须循环一个一个来

还有,格式输出和题目要求不同
修改了一下,你参考下

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a[10];
    int i,t;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<10;i++)
        printf("%5d",a[i]);
    printf("\n");
    for(i=0;i<10/2;i++)
    {
        t=a[i];
        a[i]=a[10-1-i];
        a[10-1-i]=t;
    }
    for(i=0;i<10;i++)
        printf("%5d",a[i]);
    printf("\n");
    return 0;
}