PAT B1009

原创 2017年08月13日 10:02:03

题目链接

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出格式:每个测试用例的输出占一行,输出倒序后的句子。

输入样例
Hello World Here I Come

输出样例
Come I Here World Hello


解法一

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str[10];
    getline(cin, str[0]);
    decltype(str[0].size()) j = 1;
    for (decltype(str[0].size()) i = 0; i < str[0].size(); i++) {
        if (!isspace(str[0][i]))
            str[j] += str[0][i];
        else j++;
    }
    for (decltype(str[j].size()) i = j; i > 0; i--) {
        cout << str[i];
        if (i != 1)
            cout <<" ";
    }
    return 0;
}

解法二

#include<string>
#include<iostream>
#include<vector>
using namespace std;
int main() {
  string s,r;
  vector<string> v;
  getline(cin, s);
  for (decltype(s.size()) index = 0; index != s.size(); index++) {
    if(!isspace(s[index]) ){
      r += s[index];
    }
    else {
      v.push_back(r);
      r.clear();
    }
  }
  v.push_back(r);
  for (auto rit = v.rbegin();rit !=v.rend(); rit++)
  {
    cout << *rit;
    if (rit != v.rend() - 1) cout << " ";
  }
  return 0;
}

解法三

#include <iostream>
#include <string>
#include<sstream>
#include<vector>
using namespace std;
int main()
{
    string line,s;
    vector<string> v;
    bool firstword = true;
    getline(cin, line);
    istringstream stream(line);
    while(stream>>s)
    v.push_back(s);
    for (auto rit = v.rbegin(); rit != v.rend(); rit++)
    {
        if (firstword)
            firstword = false;
        else 
            cout << " ";
        cout << *rit;
    }
}

浙大PAT 1009题 1009. Product of Polynomials

#include #include typedef struct{ int id; float num; }info[12]; int main(){ int i,j,K1,K2,id,c...
  • Sup_Heaven
  • Sup_Heaven
  • 2012年12月29日 21:41
  • 1509

[PAT] B1009

1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题...
  • Turing_hu
  • Turing_hu
  • 2016年08月26日 09:23
  • 139

PAT B1009

//https://www.patest.cn/contests/pat-b-practise/1009 #include #include using namespace std; int ma...
  • u011089653
  • u011089653
  • 2016年03月05日 21:18
  • 125

浙大 PAT b1009

#include #include int main() { char a[100],*p; gets(a); while(p=strrchr(a,' ')) //strrchr...
  • qq_32146369
  • qq_32146369
  • 2016年10月07日 13:07
  • 97

PAT b1009题解

#include int main(){ int num = 0; char ans[90][90]; while(scanf("%s", ans[num]) != EOF){ num+...
  • a18779148177
  • a18779148177
  • 2017年07月08日 10:23
  • 134

B1009

#include #include using namespace std;int main() { string input[100]; int i = 1; cin >> i...
  • u011036919
  • u011036919
  • 2017年03月14日 17:47
  • 68

PAT要注意的地方

PAT即是浙大OJ(OnlineJudge),网址是http://www.patest.cn/contests/pat-a-practise(因为分为普通级别,Advanced级别和top级别),链接...
  • Apie_CZX
  • Apie_CZX
  • 2015年04月22日 21:12
  • 2844

PAT乙级解题报告目录

源码地址:https://github.com/liuchuo/PAT 乙级 1001. 害死人不偿命的(3n+1)猜想 (15)-PAT乙级真题 1002. 写出这个数...
  • liuchuo
  • liuchuo
  • 2016年07月24日 17:48
  • 2473

PAT甲级题解目录

github源码地址:https://www.github.com/liuchuo/PAT ID Title C/C++(附分析) 备注 1001 A+...
  • liuchuo
  • liuchuo
  • 2016年09月10日 22:19
  • 6505

用PhotoShop制作.pat格式的图片

在网上看到了一篇教程,但是很不清晰,看不清楚。于是自己再写一遍。 第一步,准备好你要转pat格式的图片,放入Ps中: 第二步,点击菜单栏中的“编辑”按钮,在出现的下拉列表中找到“定义图案”,点...
  • u014581901
  • u014581901
  • 2016年07月20日 12:19
  • 3518
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PAT B1009
举报原因:
原因补充:

(最多只允许输入30个字)