1009. 说反话 (20)——stack<struct/class>、sscanf()
来源:互联网 发布:mac如何导入手机照片 编辑:程序博客网 时间:2024/06/05 01:01
1、题目描述
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:Hello World Here I Come输出样例:
Come I Here World Hello
2、思路分析
倒序输出英文单词,可以借助堆栈的后进先出的思想。
此题的输入是一个包含空格的字符串,可以考虑用gets(char input[])获取包含空格的整个语句,再对其遍历求分割。
此外,也可以考虑利用cin和scanf的自动过滤空格的功能,在接受输入时直接获得分割好的单词,但是需要利用getchar()或cin.get()函数来设置循环的出口。
3、C++代码
#include<iostream>#include<algorithm>#include<string.h>#include<stdio.h>#include<vector>#include<string>#include<stack>#include<queue>#include<math.h>#include<map>using namespace std;struct word{char data[81];}temp;stack<word> S;void Input(){while(true){cin>>temp.data;S.push(temp);if(getchar()=='\n')break;}}void Process(){}void Display(){printf("%s",S.top().data);S.pop();while(!S.empty()){printf(" %s",S.top().data);S.pop();}printf("\n");}int main(){//while(true){Input();Process();Display();//}return 0;}<pre class="cpp" name="code">#include<iostream>#include<algorithm>#include<string.h>#include<stdio.h>#include<vector>#include<string>#include<stack>#include<queue>#include<math.h>#include<map>using namespace std;char A[81],Temp[81];void Input(){gets(A);int i=strlen(A)-1;while(i>=0){for(;i>0&&A[i]!=' ';i--);if(A[i]==' '){sscanf(A+i+1,"%s",Temp);printf("%s ",Temp);}else if(i==0){sscanf(A,"%s",Temp);printf("%s\n",Temp);}i--;}}void Process(){}void Display(){}int main(){//while(true){Input();Process();Display();//}return 0;}
0 0
- 1009. 说反话 (20)——stack<struct/class>、sscanf()
- PATBasic——1009. 说反话 (20)
- PAT——1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 1009. 说反话 (20)
- 文件file类的使用和异常
- 深入解析淘宝Diamond之客户端架构
- codeforces 718E. Matvey's Birthday
- test-欢迎使用CSDN-markdown编辑器
- Tomcat + Spring-framework MVC配置简介
- 1009. 说反话 (20)——stack<struct/class>、sscanf()
- Bootstrap+JavaScript实现广告轮播
- MySQL Limitations Part 1: Single-Threaded Replication [MySQL 短板 1]
- JAVA基础 随机点名器案例
- 软工导论课程作业
- 美化表单控制元素对齐
- ofbiz登录的一点问题
- 进程通信,管道通信 1.0
- 再来Flag