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

输入格式:

测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。

输出格式:

每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。

输入样例:

Hello World   Here I Come

输出样例:

Come I Here World Hello

代码长度限制

16 KB

时间限制

300 ms

内存限制

64 MB

#include<stdio.h>
void fun(int a,char c[],int n) //定义打印函数,用来打印除第一个单词以外的单词
{int i=a;for(i=a;c[i]!=' '&&i<n;i++)//i<n这个条件是用来防止末尾单词后有多个空格{if(c[i]!=' '){printf("%c",c[i]);}}for(i=0;i<a;i++)//用于应对开头就是空格的情况,同时打印单词后的一个空格{if(c[i]!=' '){printf(" ");break;}}
}
int main()
{int i,n,a;char c[500001],*p;//数组长度一定要足够大p=c;gets(c);n=strlen(c);for(i=n-1;i>=0;i--){if(c[i]==' '&&c[i+1]!=' '&&c[i+1]!='\0')//a用来记录每个单词开始打印的位置{a=i+1;fun(a,c,n);}}while(*p!=' ')//用来打印开头不为空格的第一个单词{if(*p!=' '){printf("%c",*p);}p++;}printf("\n");return 0;}

无注释如下:

#include<stdio.h>
void fun(int a,char c[],int n)
{int i=a;for(i=a;c[i]!=' '&&i<n;i++){if(c[i]!=' '){printf("%c",c[i]);}}for(i=0;i<a;i++){if(c[i]!=' '){printf(" ");break;}}
}
int main()
{int i,n,a;char c[500001],*p;p=c;gets(c);n=strlen(c);for(i=n-1;i>=0;i--){if(c[i]==' '&&c[i+1]!=' '&&c[i+1]!='\0'){a=i+1;fun(a,c,n);}}while(*p!=' '){if(*p!=' '){printf("%c",*p);}p++;}printf("\n");return 0;}

PTA:说反话-加强版相关推荐

  1. 7-25 说反话-加强版 (20分)

    7-25 说反话-加强版 (20分) 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单 ...

  2. 7-15 说反话-加强版 (20 分)#

    7-15 说反话-加强版 (20 分)# 7-15 说反话-加强版 (20 分) 强行解释# 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不,咱现在也没学过,咱也不敢问) 那 ...

  3. 7-15 说反话-加强版 (20 分)

    7-15 说反话-加强版 (20 分) PAT 程序设计天梯赛 韩旭051 7-15 说反话-加强版 (20 分) 强行解释 先输出最后的单词,后输入先输的单词?(这不就是队列吗?先入队,后出队.不, ...

  4. PTA-7-32 说反话-加强版(C语言)

    7-32 说反话-加强版 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格 ...

  5. c语言 PTA 基础编程题目集 编程题 7-32 说反话 加强版 的分析

    这里想跟大家谈一谈pta上的一个编程题,说反话的加强版,这道题题目很好理解,可是编程的思路却十分难找,代码更是难以看懂.这里我想跟大家分享一种思路,并做出详细的分析. #include<stdi ...

  6. PTA基础编程题目集-7-32 说反话-加强版

    我不知道我这个到底错在哪里,就sample输出错误,其他的都是对的,但是我怎么都没有看出这个到底错在哪里! #include<iostream> #include<algorithm ...

  7. PTA 7-32 说反话-加强版 (20分)

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母 ...

  8. PTA 6-5 说反话-加强版 (C)(通俗易懂还有图解)

    要求: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串.字符串由若干单词和若干空格组成,其中单词是由 ...

  9. PAT基础编程题目集 7-32 说反话-加强版

    #include <stdio.h> #include <string.h> int main() {char s[600000];scanf("%[^\n]&quo ...

最新文章

  1. python-正则表达式练习题
  2. 200多位专家热议“智慧城市” 建议尽快完善标准体系
  3. 十分钟入门 RocketMQ
  4. 微信小程序长按保存图片
  5. 304 vue 启动项目打开页面_Vue搭建项目工程(续)
  6. MVC模式 在Java Web应用程序中的实现
  7. MinGW编译wxWidget
  8. linux vim 高亮查找,vim技巧:用列表形式显示所有搜索到的内容,去掉搜索内容的高亮...
  9. web性能优化(理论)
  10. Linux CAN通信
  11. 【Flink】大数据分析常用去重算法分析『HyperLogLog 篇』
  12. 学习matlab(十七)——信号处理
  13. 工控网络安全分支-电力行业网络安全建设
  14. 【Git】clone项目push项目没反应,Cloning into...没下载
  15. iOS前后台切换和监听
  16. 斯坦福大学公开课IOS 7学习笔记 (1)
  17. EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
  18. HAL + RT_Thread = STM32外设用不了? NoNoNo!!
  19. C++跟C#获取电脑上连接的多个摄像头名称与编号
  20. 一个老程序员的忠告:千万不要一辈子靠技术生存

热门文章

  1. 推荐系统介绍(优势、流程、模型、工具、挑战、价值)
  2. 数据挖掘读书笔记--第八章(下):分类:模型评估与选择、提高分类器准确率技术
  3. 广州0月租卡 0月租的手机卡有哪些作用? 从化大众卡 全国免费接听
  4. 比物理学不存在更恐怖的,是圆周率|Happy Pi Day
  5. 让CiteSpace安装后的界面字体变大
  6. java 时间段求并集,java集合操作-----求两个集合的交集和并集
  7. position:absolute的居中方法
  8. 3.html实现网页布局
  9. 面向对象程序设计基本原理
  10. 产业分析:100大行业全景图谱