关于链表输入输出问题

ke788 ke788 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
include<stdio.h>
#define maxsize 100

struct student
{ char num[10];
char name[10];
char sex[2];
char tel[15];
char addr[50];
};
struct list
{ int len;
struct student stu[maxsize];
};


struct list ListInit(struct list L)
{ L.len=0;
return(L);
}


struct list ListCreate(struct list L)
{ int i=0;
char x1[10],x2[10],x3[2],x4[15],x5[50];
char ch;
do
{ printf("\nNum:"); fflush(stdin);
scanf("%c",x1); fflush(stdin);
printf("\nName:");
scanf("%c",x2); fflush(stdin);
printf("\nSex:");
scanf("%c",x3); fflush(stdin);
printf("\nTel:");
scanf("%c",x4); fflush(stdin);
printf("\nAddr:");
scanf("%c",x5); fflush(stdin);
strcpy(L.stu[i].num,x1);
strcpy(L.stu[i].name,x2);
strcpy(L.stu[i].sex,x3);
strcpy(L.stu[i].tel,x4);
strcpy(L.stu[i].addr,x5);
i++;
ch=getchar();
} while(ch!='0');
L.len=i;
return(L);
}


void ListPrint(struct list L)
{ int i;
for(i=0;i<L.len;i++)
{ printf("\nNum:%s\nName:%s\nSex:%s\nTel:%s\nAddr:%s\n",L.stu[i].num,L.stu[i].name,L.stu[i].sex,L.stu[i].tel,L.stu[i].addr);
}
printf("\n");
}


void main()
{ struct list L;
L=ListInit(L);
L=ListCreate(L);
ListPrint(L);
}

输出好像还有点问题哦!
不知道哪里错误!郁闷了

应该怎么实现输入和输出才是最好的呢?
多个字符串 scanf();的输入应该怎么办呢?
是不是应该分多行写?
那么输出呢?

...全文

相关推荐

cpp代码-链表之报数问题-oj

cpp代码-链表之报数问题-oj

weixin_38703468

c++循环链表解决约瑟夫环问题

约瑟夫环 问题描述:约瑟夫问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 基本要求 利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 测试数据 M的初值为20;n=7,7各人的密码依次为3,1,7,2,4,8,4,首先m值为6(正确出栈顺序为6,1,4,7,2,3,5)

Baby无齿518

数据结构链表作业

北航数据结构链表操作实践作业.要求:从文件中读入一组成绩,并倒序打印至另一文件中。数据用链表存储。

christoffel

约瑟夫问题用循环链表实现

约瑟夫问题是一个经典的问题。已知n个人(不妨分别以编号1,2,3,…,n 代表)围坐在一张圆桌周围,从编号为 k 的人开始,从1开始顺时针报数1, 2, 3, ...,顺时针数到m 的那个人,出列并输出。然后从出列的下一个人开始,从1开始继续顺时针报数,数到m的那个人,出列并输出,…依此重复下去,直到圆桌周围的人全部出列。 输入:n,k,m 输出:按照出列的顺序依次输出出列人的编号,编号中间相隔一个空格,每10个编号为一行。 非法输入的对应输出如下 a) 输入::n、k、m任一个小于1 输出:n,m,k must bigger than 0. b) 输入:k>n 输出:k should not bigger than n. 例 输入 9,3,2 输出 4 6 8 1 3 7 2 9 5

zzzbit

C++单链表实现大数加法

主要为大家详细介绍了C++单链表实现大数加法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

weixin_38610277
评论 3
收藏 已收藏
分享
返回顶部
ke788
数据结构与算法 33,027 成员 35,334 内容