您的位置:首页 > 职场人生

微软面试100之10 翻转句子中单词的顺序

2013-09-16 18:49 232 查看
翻转句子中单词的顺序。

题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。

句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。

例如输入“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));
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: