关于字符串的问题,如何解决?

问题:得不到想要的结果。
目的;将一个字符串的内容逆序输出如输入“abcde”输出“edcba”。

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<conio.h>
void main()
{
    int i,j,len;
    char a[100]="",b[100]="";
    printf("请输入\n");
    gets(a);
    len=strlen(a);
    for(i=len;i>0;i--)
    {
        for(j=0;j<len;j++)
            b[j]=a[i];
    }
    b[j]='\0';
    puts(b);
    system("pause");
}

不需要两个数组的啊

#include<stdio.h>
#include<string.h>
void main()
{
    int i,len;
    char a[100],t;
    printf("请输入一行字符\n");
    gets(a);
    len=strlen(a);
    for(i=0;i<len/2;i++)
    {
        t = a[i];
        a[i] = a[len-i-1];
        a[len-i-1] = t;
    }
    puts(a);
    system("pause");
}