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

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

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

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello

采用单链表的数据结构存储输入的英文句子,使用头插法建表,最后遍历输出时就可以做到后进先出

#include <stdio.h>
#include <stdlib.h>
#include <string.h> typedef struct _node{
char word[32];
struct _node *next;
}Node; int
main( int argc, char *argv[] )
{
int i;
int flag = 0;
char str[32];
Node *cur, *pre, *tail;
cur = ( Node* )malloc( sizeof( Node ) );
cur->next = NULL;
pre = cur;
tail = cur;
while( 1 ){
for( i = 0; i < 32; i++ ){
scanf("%c", &str[i]);
if( str[i] == ' ' ){
break;
}
if( str[i] == '\n' ){
flag = 1;
break;
}
}
str[i] = '\0';
cur = ( Node* )malloc( sizeof( Node ) );
memcpy( &cur->word, str, strlen( str ) + 1 );
cur->next = pre;
pre = cur;
if( flag ){
break;
}
} for( cur; cur->next != NULL ; ){
printf("%s", cur->word);
if( cur->next != tail ){
putchar(' ');
}
pre = cur;
cur = cur->next;
free( pre ); /*遍历输出过程释放内存空间*/
}
free( cur ); /*释放头节点内存空间*/ return 0;
}

PAT (Basic Level) Practice (中文)1009 说反话 (20分)的更多相关文章

  1. PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642 题目描述: People in Mars represent the c ...

  2. PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642 题目描述: A number that will ...

  3. PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642 题目描述: With the 2010 FIFA World Cu ...

  4. PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1005 Spell It Right (20 分) 凌宸1642 题目描述: Given a non-negative integer N ...

  5. PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1001 A+B Format (20 分) 凌宸1642 题目描述: Calculate a+b and output the sum i ...

  6. PAT (Basic Level) Practise:1009. 说反话

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

  7. PAT (Basic Level) Practice 1029 旧键盘 分数 20

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...

  8. PAT (Basic Level) Practice 1028 人口普查 分数 20

    某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...

  9. PAT (Basic Level) Practice 1027 打印沙漏 分数 20

    本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***** *** * *** *****   所谓"沙漏形状",是指 ...

  10. PAT (Basic Level) Practice 1019 数字黑洞 分数 20

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...

随机推荐

  1. Android手机 自动批量发朋友圈

    做了各种对比之后,还是这个微商工具最好用

  2. K8s配置。--未完成

    配置K8s ##################################################################################### # 配置 --- ...

  3. 性能测试必备命令(2)- uptime

    性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 系统启动up了(运行了)多 ...

  4. java多线程 synchronized 与lock锁 实现线程安全

    如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 通过卖火车票的例子 火车站要卖票,我们模 ...

  5. 用Java实现红黑树

    红黑树是众多"平衡的"搜索树模式中的一种,在最坏情况下,它相关操作的时间复杂度为O(log n). 1.红黑树的属性 红黑树是一种二分查找树,与普通的二分查找树不同的一点是,红黑树 ...

  6. linux中花括弧大括号用法

    {1,3,5}   ==  1 3 5 {1..5}   ==  1  2  3  4  5 {a..e}  ==  a b c d e {A..z} {1..50..2} {1..50..3} {1 ...

  7. 在excel中,截取电话号码后4位

    在单元格中输入以下 =RIGHT($A3,4) 其中$a3是手机号所在的单元格,4是从右查4个

  8. vue开发流程

    在安装node.js 测试安装  在cmd 下输入node   如查能正确输出命令提示符,表明安装好node 测试安装npm -v   如果能成功出现版本信息表示安装好npm 安装配置 G码云   或 ...

  9. Node.js躬行记(10)——接口日志查询

    当运营向我们上报BUG时,我们第一时间是捕获相关的接口.从监控系统中,就可以查到用户使用时接口的请求和响应数据. 若接口的请求正常,那么就需要深入到接口代码中,查看相关的日志,通常会先浏览数据库查询语 ...

  10. 华为云计算IE面试笔记-桌面云用户登录连接流程及故障处理?

    1-10:桌面与系统验证成功                           http协议 11-19:桌面list(VM列表)获取,选择                http协议 20-30: ...