【转载+部分正确】字符串-07. 说反话-加强版 (20)

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

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

输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello
#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main()
{
    stack<string> s;
    string  sp;
    bool flag=false;
    while(cin>>sp)
        s.push(sp);

    while(!s.empty())
    {
        if(flag)
            cout<<" ";
        else
            flag=true;
        cout<<s.top();
        s.pop();

    }
    return 0;
}

  

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
#include <string>
#include <math.h>

using namespace::std; 

int main(){

    char mm[1000][1000];
    char s[1000];

    gets(s);

    memset(mm,‘\0‘,sizeof(mm));
    int cont = 0, k = 0;
    int len = strlen(s);
    for(int i = 0; i < len; i++)
    {
      if(s[i] == ‘ ‘&&s[i+1]!=‘ ‘&&s[i+1]!=‘\0‘)
      {
        cont++;
        k = 0;
      }else if(s[i] == ‘ ‘&&(s[i+1]==‘ ‘||s[i+1]==‘\0‘))
      {

      }
      else
        mm[cont][k++]=s[i];
    }
    printf("%s",mm[cont]);
    for(int i = cont-1; i >= 0; i--)
    {
      printf(" %s",mm[i]);
    }
    printf("\n");

      return 0;
}
时间: 2024-08-05 20:00:20

【转载+部分正确】字符串-07. 说反话-加强版 (20)的相关文章

字符串-07. 说反话-加强版 (20)

题目来源: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开. 输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格. 输入样例: Hello World Here I Come 输出样例: Come I Here World Hello Java版本: import

团体程序设计天梯赛-练习集(七)(7-32 说反话-加强版)

7-32 说反话-加强版 (20分) https://pintia.cn/problem-sets/14/problems/812 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <cmath> 6 #include <algorithm> 7 using namespace std; 8 int

【转载】java字符串的各种编码转换

java字符串的各种编码转换 来自:http://www.blogjava.net/rabbit/archive/2008/03/27/189009.html import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ public static final String US_AS

字符串-06. IP地址转换(20)

一个IP地址是用四个字节(每个字节8个位)的二进制码组成.请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出. 输入格式: 输入在一行中给出32位二进制字符串. 输出格式: 在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用"."分隔开. 输入样例: 11001100100101000001010101110010 输出样例: 204.148.21.114 import java.math.BigInteger; import

写一个函数,将字符串中空格替换为%20。

写一个函数,将字符串中空格替换为%20.样例:"abc defgx yz"替换为"abc%20defgx%20yz".这道题是一道简单的字符和字符串替换题,字符的替换直接用指针即可,每次都需要把空格后的字符串保存到一个数组中,然后把空格替换为%20后再将刚刚拷贝的字符串拷贝到%20的后面,代码如下: Fun(char str){char p = str;char arr[20];while (p != '\0'){if (p == ' '){strcpy(arr,

PTA乙级(1078 字符串压缩与解压 (20分))

1078 字符串压缩与解压 (20分) https://pintia.cn/problem-sets/994805260223102976/problems/994805262018265088 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 #include <iostream> 5 #include <algorithm> 6 using namespace std

【转载】vim字符串替换

转自http://bbs.chinaunix.net/thread-2045191-1-1.html vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行

[转载] python 计算字符串长度

本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函数取得的长度,进行对比即可知道字符串内中文字符的数量,自然就可以计算出字符串的长度了. value=u'脚本12' length = len(value) utf8_length = len(value.encode('utf-8')) length = (utf8_length - length)

【转载】 json字符串与JSON对象

ajax中,我们自己拼接的是一个JSON对象,以为它是无数据类型的,所以JS根据其格式默认其实对象, 你要是往后台发,要先把它装换成JSON字符. 从ajax的服务器发过的,一定是字符串,你想要把它解析,很简单,把它先变成JSON对象才行. 太厉害了. 在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ "name": "cxh"