https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960
3.9改进版本
#include<iostream>
#include<string>
using namespace std;
int main(){
int i=0;
string str, str_arr[40];
while(cin >> str){
str_arr[i++] = str;
if(getchar() == '\n')
break;
}
for(i--; i>=0; i--){
cout << str_arr[i];
if(i!=0)
cout << " ";
}
return 0;
}
原版
题意就是输入一句英文(字符总数不超过80),输出反序的英文。看上去很简单,但是因为对C++语法不太熟悉,老是出小错误,所以花了一些时间。
方法一:这是最开始不熟悉语言导致写的很复杂。
#include<iostream>
#include<string>
using namespace std;
int main(){
string str, str_arr[40];
getline(cin, str);
int i, j, p=0, k=0, flag = 0;
while(p<str.size()+1){
if(str[p] != ' ' && flag == 0){
i = p;
flag = 1;
}else if(flag == 1){
j = p;
}
if(str[p] == ' ' && flag == 1 || p == str.size() && flag == 1){
flag = 0;
str_arr[k++] = str.substr(i, j-i);
}
p ++;
}
for(int i=39; i>=0; i--){
if(!str_arr[i].empty()){
cout << str_arr[i];
if(i!=0)
cout << " ";
}
}
return 0;
}
本文介绍了使用C++实现字符串逆序输出的方法。通过两种不同的实现方式,展示了如何读取和处理输入的英文句子,并将其单词逆序输出。第一种方法较为复杂,涉及字符串分割;第二种方法简洁明了。

被折叠的 条评论
为什么被折叠?



