【PAT】1009. 说反话 (20)
1009. 说反话 (20)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。
输出格式:每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello 方法一:
程序说明:
1.输入的字符串存储在数组str[]中,数组pos[]用来存储每个空格所在的位置,count用来存储单词个数,初始值为1;strlen()函数求出字符串的总长度
2.知道每个空格所在的位置、字符串总长度和单词个数即可打印出相应的单词 C++ 代码如下:
#include <bits/stdc++.h>
using namespace std; int main() {
char str[];
int pos[];
int count=,j=,i,len;
gets(str);
len=strlen(str);
for(i=;i<len;i++){
if(str[i]==' '){
count++;
pos[j]=i;
j++;
}
}
if(count==){
for(i=;i<len;i++){
cout<<str[i];
}
system("pause");
return ;
}
while(count!=){
for(i=pos[j-]+;i<len;i++)
cout<<str[i];
len=pos[j-];j--;count--;
if(count!=) cout<<' ';
}
for(i=;i<pos[];i++)
cout<<str[i];
system("pause");
return ;
}
C++ Code 1
方法二:使用strtok()函数
strtok()函数说明:
1.包含在 #include <string.h> 中
2.函数原型:
char* strtok (char* str,constchar* delimiters );
3.函数功能:以传入的 delimiters为切割符对 str 分割成一个个子串,并返回指向被分割出片段的指针。当 str 中的字符查找到末尾时,返回NULL;
如果查不到 delimiters 所标示的字符,则返回当前 strtok 的字符串的指针
4.函数参数:
str:在第一次被调用的时候 str 为被切割字符串的首地址,在后面调用的时候为NULL
delimiters:将传入的字符当做切割符
C++ 代码如下:
#include <bits/stdc++.h>
using namespace std; int main(){
char str[];
int flag=;
char* result;
const char *ch=" ";
vector<char *> word;
gets(str);
result=strtok(str,ch);
while(result!=NULL){
word.push_back(result);
result=strtok(NULL,ch);
}
for(int i=word.size()-;i>=;i--){
if(flag==){
cout<<word[i];
flag=;
}
else cout<<' '<<word[i];
}
system("pause");
}
C++ Code 2
【PAT】1009. 说反话 (20)的更多相关文章
- PAT 1009 说反话 (20)(代码)
1009 说反话 (20)(20 分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空 ...
- PAT 1009. 说反话 (20) JAVA
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区 ...
- PAT 1009. 说反话 (20)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区 ...
- PAT乙级 1009. 说反话 (20)
1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中 ...
- PAT 乙级 1009 说反话 (20) C++版
1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中 ...
- PAT-乙级-1009. 说反话 (20)
1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中 ...
- PAT (Basic Level) Practise (中文)- 1009. 说反话 (20)
http://www.patest.cn/contests/pat-b-practise/1009 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在 ...
- PAT Basic 1009 说反话 (20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...
- PAT (Basic Level) Practice (中文)1009 说反话 (20分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...
随机推荐
- thinkphp框架中Model对象$origin对象的作用
在Model的构造函数中,$origin的初始化方式如下 if (is_object($data)) { $this->data = get_object_vars($data); } else ...
- 下载网页视频音频方法(djyeye为例)
方法一: 三步操作: 选择media即可. m4a即为音频实际地址. 方法二: 方法三: 遨游浏览器 感谢知乎 https://www.zhihu.com/question/26938393
- STL源码分析-deque
http://note.youdao.com/noteshare?id=66f21dca07c1984f41848700021644fd
- 手脱ASPack v2.12
1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...
- centos7通过yum安装MySQL
一:去官网查看最新安装包 https://dev.mysql.com/downloads/repo/yum/ 二:下载MySQL源安装包 wget http://dev.mysql.com/get/m ...
- CF760 D Travel Card 简单DP
link 题意:乘车,有3种票 1.20块坐1站 2.坐90分钟,50块 3.坐1440分钟,120块 现给出到达每个站的时间,问最优策略 思路: 简单DP,限定条件的3个转移方向,取最小的那个就行了 ...
- 2015/9/22 Python基础(18):组合、派生和继承
一个类被定义后,目标就是把它当成一个模块来使用,并把这些对象嵌入到你的代码中去,同其他数据类型及逻辑执行流混合使用.有两种方法可以在你的代码中利用类.第一种是组合,就是让不同的类混合并加入到其他类中, ...
- 百度搜索URL中的参数都是什么
最近,点石排名更新了一个新功能——站内搜索.其实理解起来也很简单,就是通过URL限定搜索结果为某个网站,从而参与点击(例如:https://www.baidu.com/s?wd=SEO&si= ...
- (4.2)基于LingPipe的文本基本极性分析【demo】
酒店评论情感分析系统(四)—— 基于LingPipe的文本基本极性分析[demo] (Positive (favorable) vs. Negative (unfavorable)) 这篇文章为Lin ...
- Liunx 下载文件夹下所有文件
136down voteaccepted You may use this in shell: wget -r --no-parent http://abc.tamu.edu/projects/tzi ...