C程序

C程序求助
#define N 26
main()
{
int a[N],i;
for(i=0;i<N;i++)
 {
  printf("请输入第%d个英文字母:",i+1);
  scanf("%d\n",a[i]);
 }
printf("倒序后的字母为:\n");
for(i=N-1;i>=0;i--)
  printf("%d\t",a[i]);
}


程序运行时出错了
请问一下高手们,这个程序哪儿有毛病,要怎么改改?我实在是不知道要怎么弄了

------解决方案--------------------
scanf("%d\n",&a[i]);
------解决方案--------------------
C/C++ code
#define N 26
main()
{
char a[N];
int i;
for(i=0;i<N;i++)
 {
  scanf("%c\n",&a[i]);//这儿改下。。。上面的错了,楼主的也错了
 }
for(i=N-1;i>=0;i--)
  printf("%c\t",a[i]);
}

------解决方案--------------------
scanf("%d\n",a[i]);
改成
scanf("%d\n",&a[i]);

------解决方案--------------------
scanf("%d\n",&a[i]);
------解决方案--------------------
什么意思?你说最后吗?你确定你输入了26个字母了吗?你先把N改小点测试下
------解决方案--------------------
C/C++ code

# include <stdio.h>
#define N 3
main()
{
    char a[N];
    int i;
    for(i=0;i<N;i++)
    {
        fflush(stdin);
        printf("请输入第%d个英文字母:",i+1);
        scanf("%c",&a[i]);
        printf("%c",a[i]);
    }
    printf("倒序后的字母为:\n");
    for(i=N-1;i>=0;i--)
        printf("%c\t",a[i]);

    return 0;
}