zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    文档浏览类的网站该如何设计?
    如何将动态生成Word文件
    Word 2007 文档结构图混乱
    Spring 配置 Spring JPA 发生错误的解决方法
    今天开始着手原来Office系统的重构
    Jetty入门
    推荐一个C语言学习教程
    博客园的第一天
    我与solr(一)--solr的配置与安装
    XML解析工具类
  • 原文地址:https://www.cnblogs.com/zle1992/p/5900429.html
Copyright © 2011-2022 走看看