• 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;
    }
  • 相关阅读:
    作业三
    作业二
    4.9上机作业
    4.2Java
    Java作业
    第四周上级作业
    第三周作业
    第一次上机练习
    [ZJOI2009]假期的宿舍
    [ZJOI2007]矩阵游戏
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6105958.html
Copyright © 2020-2023  润新知