c++,字符串逆序输出问题,求帮助

从键盘上输入一个字符串(最多100个字符),然后将其中的字符反序输出。
输入格式:

从键盘上输入一个字符串(最多100个字符)。

输出格式:

反序输出字符串,最后换行。

输入样例:

I love China!
输出样例:

!anihC evol I

我的代码

#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
    char a;
    cin.get(a);
    char temp;
    int i,j;
    for(j=0, i=a.size()-1; j<i; --i,++j)
    {
        temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }
    cout<<a;
    return 0;
}

输出一个I 好像输入中断了,为什么会中断

    reverse(s.begin(),s.end());

因为你定义的a和temp变量都是char类型的,长度都为1,所以输入和输出长度都为1,可以定义char[100]或者string类型!