A-Text Reverse(文本反向读)

多组数据测试,输入t,表示要测几个,每个语句反向输出。

链接

[https://cn.vjudge.net/contest/235390#problem/A]

解:

就是getchar()和gets()的运用.
gets函数的读取规则:

1.只要gets遇到换行符,即便它是输入的第一个字符,gets也会停止读入并返回。如果输入的第一个字符就是换行符,则字符串将被置为空串。

2.由于gets函数读入再丢弃换行符,换行符将不会存储在字符串中。

gets的读取规则与getline是一样的。

gets函数的返回值:

1.正常读入(未遇到文件结尾)(注意,读入空串也是正常读入),则返回字符串,即返回字符串首地址,char*类型

2.遇到文件结尾,返回NULL

getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int len,i;
	 char a[100];
	int t;
	while(cin>>t)
	{
		getchar();
		while(t--){
		gets(a);
		len=strlen(a);
		for(i=len-1;i>=0;i--)
		cout<<a[i];
		cout<<endl;
	} 
	}
	return 0;
}
posted @ 2018-07-28 16:12  ChunhaoMo  阅读(675)  评论(0)    收藏  举报