• PAT乙级 1009. 说反话 (20)


    1009. 说反话 (20)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

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

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

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

    输入样例:
    Hello World Here I Come
    
    输出样例:
    Come I Here World Hello
    

     自己的版本,vc运行正常,通不过pat

     1 #include "stdio.h"
     2 #include"string.h"
     3 int main(int argc, char const *argv[])
     4 {
     5     char a[82];
     6     int count=1,j,i,length,c[82]={0};
     7     gets(a);
     8     length=strlen(a);
     9     
    10     for(i=0;i<length;i++)
    11         {
    12              if(a[i]==' ')
    13                  c[count++]=i;
    14          }
    15         c[count]=length-1;
    16         if(count==1){
    17             printf("%s",a);
    18         }
    19         else{
    20             for(i=c[count-1]+1; i<=length;i++)  //第一次
    21                 {
    22                 
    23                     printf("%c", a[i]);
    24                 }
    25             for(j=count-1;j>1;j--)           
    26                 
    27                     for(i=c[j-1]+1;i<c[j]+1;i++)      
    28                         printf("%c", a[i]);
    29             
    30             for(i=0;i<=c[1]-1;i++)      
    31                     printf("%c", a[i]);
    32             }    
    33             
    34    return 0;
    35 }

    参考版本

    #include "stdio.h"
    #include"string.h"
    char out(char *str);
    int main(int argc, char const *argv[])
    {
        char a[81];
        gets(a);
        out(a);
        return 0;
    }
    char out(char *str)
    {
        char *p=strchr(str,32);
        if(p==NULL)//只有一个元素
            printf("%s",str );
        else
        {
            out(p+1);
            *p='';
            printf(" %s",str );
        }
    return 0;
    }
    函数名称: strrchr 
    函数原型: char *strrchr(char *str, char c);
    所属库: string.h
    函数功能: 查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。
  • 相关阅读:
    VMware Workstation 16.0 key (仅支持 intel 架构)
    使用思科ASA对指定端口、IP进行抓包
    轮子的意义
    dubbo学习(三)泛化
    dubbo学习(二)链接
    dubbo学习(一)线程池
    mips交叉编译:SQLite3
    生成证书脚本
    ssh连接不上 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    gmssl ocsp 验证证书
  • 原文地址:https://www.cnblogs.com/zle1992/p/5900429.html
Copyright © 2020-2023  润新知