翻转句子中单词的顺序。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
#include <iostream >
using namespace std;
struct charlin {
char s[30];
};
struct Stack {
charlin cr[100];
int top;
};
void init(Stack &s) {
s.top = 0;
}
void push(Stack & s, charlin c) {
s.cr[s.top] = c;
s.top++;
}
charlin pop(Stack & s) {
charlin *n = new charlin;
n=&s.cr[s.top-1];
s.top--;
return *n;
}
void show(charlin c) {
for(int w=0;c.s[w] != '\0';w++)
cout<<c.s[w];
cout<<" ";
}
void clear(charlin &c) {
c.s[0] ='\0';
}
int main() {
char c[100] = {"I AM Aaaa STUDENT "};
Stack sss;
init(sss);
charlin ss;
int j=0;
for(int i=0; c[i] != '\0'; i++) {
if(c[i] ==' ') {
ss.s[j+1] = '\0';
push(sss,ss);
clear(ss);
j= 0;
cout<<"qq"<<endl;
}
else {
ss.s[j] = c[i];
j++;
}
}
for(;sss.top !=0;) {
show(pop(sss));
}
}