AC日记——单词翻转 1.7 27

27:单词翻转

总时间限制: 
1000ms

内存限制: 
65536kB
描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入
只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。
输出
翻转每一个单词后的字符串,单词之间的空格需与原文一致。
样例输入
hello world
样例输出
olleh dlrow

思路:

  大模拟;

来,上代码:

#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;

int len_all,len[501],num,now;

char word[501],word_all[501][50];

int main()
{
    gets(word);
    len_all=strlen(word);
    while(now<len_all)
    {
        if(word[now]==‘ ‘)
        {
            while(word[now]==‘ ‘) now++;
        }
        else
        {
            num++;
            while(word[now]!=‘ ‘)
            {
                if(now>=len_all) break;
                word_all[num][len[num]++]=word[now++];
            }
        }
    }
    for(int i=1;i<=num;i++)
    {
        int l=0,r=len[i]-1;
        while(l<r) swap(word_all[i][l++],word_all[i][r--]);
    }
    now=0;
    for(int i=0;i<len_all;i++)
    {
        if(i==0||(word[i-1]==‘ ‘&&word[i]!=‘ ‘))
        {
            printf("%s",word_all[++now]);
        }
        if(word[i]==‘ ‘) putchar(‘ ‘);
    }
    return 0;
}
时间: 2024-10-16 12:53:17

AC日记——单词翻转 1.7 27的相关文章

AC日记——单词的长度 openjudge 1.7 24

24:单词的长度 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度. 注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分.没有被空格间开的符号串,都算作单词. 输入 一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔.单词序列总长度不超过1000. 输出 依次输出对应单词的长度,之间以逗号间隔. 样例输入 She was born in 1990-01-02

AC日记——单词替换 1.7 21

21:单词替换 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串. 输入 输入包括3行,第1行是包含多个单词的字符串 s;第2行是待替换的单词a(长度 <= 100);第3行是a将被替换的单词b(长度 <= 100). s, a, b 最前面和最后面都没有空格. 输出 输出只有 1 行,将

27:单词翻转

27:单词翻转 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致. 样例输入 hello world 样例输出 olleh dlrow 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio

Openjudge-计算概论(A)-单词翻转

描述: 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开.输出翻转每一个单词后的字符串,单词之间的空格需与原文一致. 样例输入 hello world 样例输出 olleh dlrow思路:从头到尾扫描字符串,遇到空格,翻转前面的,再回来继续就得了.注意:输入要用gets()函数代码如下: 1 #include<stdio.h> 2 #include<string.h> 3 void daoxu(char t

AC日记——Aragorn&#39;s Story HDU 3966

Aragorn's Story Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10510    Accepted Submission(s): 2766 Problem Description Our protagonist is the handsome human prince Aragorn comes from The Lor

单词翻转

1205 单词翻转 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description 输入包括一个英语句子. 输出描述 Output Description 按单词的顺序把单词倒序输出 样例输入 Sample Input I love you 样例输出 Sample Output you love I

4104:单词翻转

4104:单词翻转 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一个句子(一行),将句子中的每一个单词翻转后输出. 输入 只有一行,为一个字符串,不超过500个字符.单词之间以空格隔开. 输出 翻转每一个单词后的字符串,单词之间的空格需与原文一致. 样例输入 hello world 样例输出 olleh dlrow代码: #include<stdio.h> #include<string.h> int main() { char str[501],anti

1205 单词翻转

1205 单词翻转 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description 输入包括一个英语句子. 输出描述 Output Description 按单词的顺序把单词倒序输出 样例输入 Sample Input I love you 样例输出 Sample Output you love I 数据范围及提示 Data Size

p1205单词翻转-递归解决

题目描述 Description 给出一个英语句子,希望你把句子里的单词顺序都翻转过来 输入描述 Input Description 输入包括一个英语句子. 输出描述 Output Description 按单词的顺序把单词倒序输出 样例输入 Sample Input I love you 样例输出 Sample Output you love I /* 作者:1c3z 题目:p1205 单词翻转 */ #include <stdio.h> #include <stdlib.h>