PAT 乙级 1009

PAT 乙级 10091009说反话(20分)将一个英语的句子按照单词的顺序颠倒,我的想法又是用链表

大家好,又见面了,我是你们的朋友全栈君。

1009 说反话 (20 分)

将一个英语的句子按照单词的顺序颠倒,我的想法又是用链表?。先将每个单词找到,按照头插法存下来,然后再将链表输出。有点呆,没事,当练习一下链表。滑稽

代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

typedef struct vocabulary
{
	char *str;
	struct vocabulary *next;
}vocab;

void insert(vocab **h,char *str,int len);

int main()
{
	char str[82] = {0};
	char *t;
	int i = 0;
	int n1;
	vocab *h = (vocab *)malloc(sizeof(vocab));
	
	h->next = NULL;
	vocab *p;
	fgets(str,82,stdin);
	n1 = 0;
	do
	{
		if(str[i] == ' ' || str[i] == '\n') //|| i == 79)
		{
			t = (char*)malloc(sizeof(char) * i - n1);
			strncpy(t,str + n1, i - n1);
			insert(&h,t,i - n1);
			free(t);
			n1 = i + 1;
		}
	}while(str[++i]);
	
	p = h->next;
	vocab *pre = h;
	while(p)
	{
		printf("%s",p->str);
		if(p->next)
			putchar(' ');
		pre = pre->next;
		p = pre->next;
		free(pre);
	}

	return 0;
}

void insert(vocab **h,char *str,int len)
{
	vocab *p = (vocab *)malloc(sizeof(vocab));
	p->str = (char*)malloc(sizeof(char) * len);
	p->next = NULL;
	strcpy(p->str,str);
	p->next = (*h)->next;
	(*h)->next = p;
}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145088.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 获取动漫番剧 -XXOO[通俗易懂]

    Python 获取动漫番剧 -XXOO[通俗易懂]前言没有什么好说的,就是想起来前些年失恋使劲刷番剧缓解自己糟糕的情绪。纪念下。一、直接上代码1.搜索入口#搜索动漫名称列表defget_video_list(name):#开启代理#proxy={‘http’:’http://127.0.0.1:8080′,’https’:’https://127.0.0.1:8080′}url=’http://www.7666.tv/search.php?searchword=’+nam…

    2022年7月17日
    11
  • 什么是同构(无向完全图有几种非同构的圈)

    http://162.105.81.212/JudgeOnline/problem?id=2040  
    题意给定两个有向图,找出其同构的对应点,并输出其对应的序列。。。
     
    介于该题的点数<=25 个 直接dfs搜索就可以解决问题,但是剪掉还是必要的;
    1,对于在途中的出度 和入读都唯一的点,那么就可以直接的判断其对应关系,
    2, 对于当前点u,他与已经确定对应关系的点 i 的关系 必须和正准备和u匹配的点v和 点

    2022年4月14日
    379
  • win7下IIS的安装和配置

    win7下IIS的安装和配置

    2021年10月8日
    48
  • request对象的作用

    request对象的作用HttpServletRequset:请求报文     代表:浏览器请求时的请求报文,请求到达服务器服务器将报文解析封装为这个对象     获取:请求到服务器是,服务器直接创建然后传入到servlet方法中,最终传入到doget中     作用:获取请求报文中的所有数据              1、获取请求参数【input表…

    2022年5月29日
    40
  • java 跨站脚本攻击_XSS(跨站脚本攻击)漏洞解决方案

    java 跨站脚本攻击_XSS(跨站脚本攻击)漏洞解决方案首先 简单介绍一下 XSS 定义 一 XSS 介绍 XSS 是跨站脚本攻击 CrossSiteScr 的缩写 为了和层叠样式表 CSS CascadingSty 加以区分 因此将跨站脚本攻击缩写为 XSS XSS 是因为有些恶意攻击者往 Web 页面中插入恶意 Script 代码 当用户浏览该页面时 嵌入的 Script 代码将会被执行 从而达到恶意攻击用户的特殊目的 二 XSS 攻击目

    2025年7月28日
    0
  • 刮刮卡制作过程_微信怎么制作刮刮卡

    刮刮卡制作过程_微信怎么制作刮刮卡刮刮卡demo图样1.刮开涂层的绘制可以是画图,把涂层画上去varimageObj=newImage();imageObj.onload=function(){context.drawImage(imageObj,x,y,width,height);};imageObj.src=’path/to/my/image.jpg’;可以是是画灰色的区域co…

    2025年7月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号