A-Text Reverse(文本反向讀)
阿新 • • 發佈:2018-07-28
換行 urn rev 反向輸出 cin 反向 ++ esp 地址
多組數據測試,輸入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; }
A-Text Reverse(文本反向讀)