关注公众号 程序员成长指南
在里面回复 谭浩强答案
获取完整版答案
有问题也可以公众号后台私信我.

摘要: 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去 #include <stdio.h> #include <stdio.h> typedef struct student { int num; char sex[10]; cha 阅读全文
posted @ 2020-09-08 11:02 赵一凡177 阅读(2989) 评论(0) 推荐(0) 编辑
摘要: 有两个链表a和b,设结点中包含学号、姓名。从a链表中删去与b链表中有相同学号的那些结点 解题思路: 对于b链表中的每一个节点,都从a链表的表头开始查找,如果可以找到,直接删除,如果找不到,继续从a链表表头找下一个b的节点。 #include <stdio.h> typedef struct stud 阅读全文
posted @ 2020-09-08 11:01 赵一凡177 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并, 按学号升序排列 解题思路: 首先合并两个链表,然后采用选择排序,给合并之后的链表进行排序。 #include <stdio.h> typedef struct student { int num; double grade; 阅读全文
posted @ 2020-09-08 11:00 赵一凡177 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 综合本章例9.9(建立链表的函数creat)、例9.10(输出链表的函数print)和本章习题第7题(删除链表中结点的函数del)、第8题(插入结点的函数insert),再编写一个主函数,先后调用这些函数。用以上5个函数组成一个程序,实现链表的建立、输出、删除和插入,在主函数中指定需要删除和插人的结 阅读全文
posted @ 2020-09-08 10:59 赵一凡177 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 写一个函数insert,用来向一个动态链表插入结点 #include <stdio.h> #include <stdlib.h> typedef struct LNode { int num; struct LNode *next; } LNode; void insert(int n, LNode 阅读全文
posted @ 2020-09-08 10:58 赵一凡177 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 在第9章例9.9和例9.10的基础上,写一个函数del,用来删除动态链表中指定的节点 解题思路: 首先创建一个带头的单链表,然后让用户输入需要删除的节点,调用del函数,找到需要删除的节点,把待删除节点的前驱和后继重新链接。 #include <stdio.h> #include <stdlib.h 阅读全文
posted @ 2020-09-08 10:56 赵一凡177 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 13个人围成一圈,从第1个人开始顺序报号1,2,3。凡报到3者退出圈子。找出最后留在圈子中的人原来的序号。要求用链表实现 解题思路: 创建一个环形链表,给链表中的每一个节点从1~13编号,然后开始淘汰过程,对于淘汰的节点,序号置为0,淘汰完成之后,找到序号不为0的即为最后留下的。 #include 阅读全文
posted @ 2020-09-08 10:55 赵一凡177 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数) #include <stdio.h> #define NAMLEN 20 #define STUCNT 10 typed 阅读全文
posted @ 2020-09-08 10:54 赵一凡177 阅读(1504) 评论(0) 推荐(0) 编辑
摘要: 在第3题的基础上,编写一个函数input,用来输人5个学生的数据记录 #include <stdio.h> #define NAMLEN 20 //定义一个student结构体数组,包含5个元素 struct student_t{ int num; char name[NAMLEN]; int sc 阅读全文
posted @ 2020-09-08 10:51 赵一凡177 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输人这些记录,用print函数输出这些记录 #include <stdio.h> #define NAMLEN 20 //定义一个student结构体数组,包含5个元 阅读全文
posted @ 2020-09-08 10:50 赵一凡177 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 写一个函数days,实现第1 题的计算。由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出 #include <stdio.h> struct Date{ int year; int month; int day; }; int Days(struct Date date) { s 阅读全文
posted @ 2020-09-08 10:49 赵一凡177 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题 解题思路: 用一个日期数组保存每一月的天数,二月的天数记为28天,后面根据输入的时间确定是否是闰年的二月,如果是,天数在加1。 #include <stdio.h> struct Date{ int year; int m 阅读全文
posted @ 2020-09-08 10:48 赵一凡177 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n个整数在主函数中输入,最后在主函数中输出。 解题思路: 指向指针的指针其实就是二级指针,使用二级指针的保存一级指针的地址,让这个一级指针指向具体的数据空间。排序就是按照每个元素指针指向空间中的数据进行比对排序即可。 答案: # 阅读全文
posted @ 2020-09-08 10:28 赵一凡177 阅读(1627) 评论(0) 推荐(0) 编辑
摘要: 用指向指针的指针的方法对5个字符串排序并输出 **解题思路:**指向指针的指针其实就是二级指针,使用二级指针的保存一级指针的地址,让这个一级指针指向具体的数据空间; 定义一个字符串指针数组包含5个元素,每个元素可以保存一个字符串的首地址,而这个地址指向的是具体的字符串数据空间,通过指针访问实现对指向 阅读全文
posted @ 2020-09-08 10:27 赵一凡177 阅读(816) 评论(0) 推荐(0) 编辑
摘要: (1) 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。(2)写一函数free,将前面用new函数占用的空间释放。free(p)表示将p(地址)指向的单元以后的内存段释放。 解题思路: 封装malloc函数 阅读全文
posted @ 2020-09-08 10:25 赵一凡177 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 编一程序,输入月份号,输出该月的英文月名。例如,输人3,则输出"March" ,要求用指针数组处理 解题思路: 首先定义字符串指针数字,数组中每一个元素都存放一个字符串指针,每个指针指向不同字符串的位置。则输入月份数字后,根据下标获取对应月份字符串的地址即可 答案: #include<stdio.h 阅读全文
posted @ 2020-09-08 10:23 赵一凡177 阅读(1866) 评论(0) 推荐(0) 编辑