永发信息网

用gets输入任意多个的长度小于80的字符串,结束后重新显示所有输入过的字符串,如何使用链表方式处理.?

答案:1  悬赏:20  手机版
解决时间 2021-04-07 21:31
用gets输入任意多个的长度小于80的字符串,结束后重新显示所有输入过的字符串,如何使用链表方式处理.?
最佳答案
#include 
#include 
#include 

typedef struct  //定义结构体 
{
char ch[80];  //存放数据字符串 
struct node* next;  //指向下一个结点 
}node;

node* Create()   //新建结点并初始化 
{
node* n=(node*)malloc(sizeof(node)*1); //为新结点分配内存空间
memset(n->ch,'',80);
n->next=NULL;
return n;
}

int main()
{
node *head=NULL,*p=NULL;               //定义头结点和当前指向结点指针
char s[80]="";
while(1)
{
memset(s,'',80);
gets(s);
if(strcmp(s,"quit")==0) break;     //如果输入的是quit则表示用户结束输入 
node *new_node;
new_node=Create();                 //新建结点 
strcpy(new_node->ch,s);            //把用户输入的字符串存储入新结点中 
if(head==NULL)                     //如果头结点为空,则把当前新结点当成头结点 
{
head=new_node;
p=head;                        //当前指向为头结点 
}
else                               //如果头结点不为空 
{
p->next=new_node;              //把上一个结点的next指向新建结点 
p=p->next;                     //当前指向为新结点 
}
}
printf("

");
p=head;                                //重新指向头结点,以便输出 
while(1)
{
printf("%s
",p->ch);              //输出数据字符串 
if(p->next==NULL) break;           //如果当前结点没有指向下一个结点,则退出 
p=p->next;                         //当前指向下一个结点 
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个女孩得了病 男孩为了他变成一年的蝴蝶 可
95519如果在本地拨打是不是免费电话的?
往事前面加个动词?求解
我在5173上买的QQ华夏账号和装备一共花了5700
在某一点周围用三种边长相等的正多边形铺地面
大哥不在二哥在,三哥原来在王家。王家有棵弯
什么是cedte爱则加诸膝,恶则坠诸渊sgpvy?
屙屎坳怎么去啊,有知道地址的么
瑜伽的基础体式有哪些
用红核妇洁洗液是不是容易生女孩
2、3、4的等量关系式
单选题金秋时节某地农民采摘柿子时,最后总要
上海市普陀区交通路4711号李子园大厦
跳交谊舞如何挑逗女人
需要5000左右的代款,最近申请了十几家网代都
推荐资讯
技嘉GA-MA78GM-S2HP和技嘉GA-MA78GM-US2H有什
屏幕总成是什么意思,iphone5屏幕总成是什么意
提成2点是2% 2成是20%吗?
钢笔每盒6o元,1本笔记本比1支钢笔贵4元.1本笔
永虹超市怎么去啊,有知道地址的么
excel表格里有很多内容,我只打印其中一段,
利发轿车修配在哪里啊,我有事要去这个地方
韩服比国服出来了6年
甜瓜坐胎后多少天熟
股票上满仓 控制好仓位是什么意思?
南京到东营途径经过那些城市需要多少公里是汽
一下化学中含量这个概念是什么意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?