zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practise (中文)- 1009. 说反话 (20)

    http://www.patest.cn/contests/pat-b-practise/1009

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

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

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

    输入样例:

    Hello World Here I Come
    

    输出样例:

    Come I Here World Hello
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char str[100];
     6     gets(str);
     7     int iStart=0,iLen=0,len=strlen(str);
     8     
     9     int iStr=0;
    10     char temp='0';
    11     
    12     for(int i=0,j=len-1;i<j;i++,j--)
    13     {
    14             temp=str[i];
    15             str[i]=str[j];
    16             str[j]=temp;
    17     }
    18     iStr=0;        
    19     while(str[iStr])
    20     {
    21         if(str[iStr]==' ')
    22         {
    23             if(iLen>0)
    24                 for(int i=iStart,j=iStart+iLen-1;i<j;i++,j--)
    25                 {
    26                     temp=str[i];
    27                     str[i]=str[j];
    28                     str[j]=temp;
    29                 }
    30             iStart=iStr+1;
    31             iLen=0;
    32         }
    33         else
    34             iLen++;
    35             
    36         iStr++;
    37     }
    38             if(iLen>0)
    39                 for(int i=iStart,j=iStart+iLen-1;i<j;i++,j--)
    40                 {
    41                     temp=str[i];
    42                     str[i]=str[j];
    43                     str[j]=temp;
    44                 }
    45                 puts(str);
    46     return 0;
    47 }
  • 相关阅读:
    重载小于号
    无聊的会议
    程序内存和时间
    对拍
    读入和输出优化
    codevs 3269 混合背包
    清北第三套题
    codevs 2188 最长上升子序列
    清北第二套题
    [COGS896] 圈奶牛
  • 原文地址:https://www.cnblogs.com/asinlzm/p/4463777.html
Copyright © 2011-2022 走看看