关于C/C++的各种常见读取数据操作
1 读取带空格的一行字符串
例1:
题目描述
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。
输入
输入包括一行。 第一行输入的字符串。
输出
输出转换好的逆序字符串。
样例输入
I am a student
样例输出
tneduts a ma I
//用scanf读取一行带空格字符串
#include<cstdio>
#include<cstring>
int main(){
char a[100];
scanf("%[^\n]", a);
int len = strlen(a);
for(int i = len-1; i >= 0; i--){
printf("%c", a[i]);
}
return 0;
}
/*若使用algorithm头文件,可以变得更简单
#include <iostream>
#include <string>
int main(){
char s[101];
cin>>s;
reverse(s);
cout<<s<<endl;
return 0;
}
*/
//用getline读取一行带空格字符串
#include<iostream>
#include<string>
using namespace std;
int main(){
string line;
getline(cin, line);
int len = line.length();
for(int i = len-1; i >= 0; i--){
cout << line[i];
}
return 0;
}
/*若使用algorithm头文件,可以变得更简单
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string str; //C++输入流完全支持string类型,没必要定义C的字符buffer。
cin>>str; //输入字符串
reverse(str.begin(), str.end()); //str执行完这句,就已经是逆序结果。
cout<<str<<endl;
return 0;
}
*/