
PTA-C题目解答
咸菜。
咸鱼的咸,菜鸟的菜。
展开
-
一元多项式的乘法与加法运算
一元多项式的乘法与加法运算 题目: 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例: 4 3 4 -5 2 6 1 -2 0 3 5 20 -7 4 3 1 输出样例: 15 24 -2原创 2021-03-28 16:02:45 · 533 阅读 · 0 评论 -
链式表操作集
** 6-5 链式表操作集 (20 分) ** 本题要求实现链式表的操作集。 函数接口定义: Position Find( List L, ElementType X ); List Insert( List L, ElementType X, Position P ); List Delete( List L, Position P ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode { ElementType Data原创 2021-03-16 23:40:41 · 201 阅读 · 0 评论 -
顺序表操作集
** 6-2 顺序表操作集 (20 分) ** 题目: 本题要求实现顺序表的操作集。 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, Position P ); 其中List结构定义如下: typedef int Position; typedef struct LNode *Li原创 2021-03-16 23:34:11 · 277 阅读 · 0 评论 -
螺旋方阵
** 实验7-2-9 螺旋方阵 ** 题目: 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。 输入格式: 输入在一行中给出一个正整数N(<10)。 输出格式: 输出N×N的螺旋方阵。每行N个数字,每个数字占3位。 输入样例: 5 输出样例: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9原创 2021-03-14 18:17:28 · 329 阅读 · 0 评论 -
打印杨辉三角
** 实验7-2-6 打印杨辉三角 ** 题目: 本题要求按照规定格式打印前N行杨辉三角。 输入格式: 输入在一行中给出N(1≤N≤10)。 输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 思路如下(以6为例): (1)首先构造一个N阶方阵,初始化原创 2021-03-14 18:04:06 · 261 阅读 · 0 评论 -
简易连连看
** 实验7-2-10 简易连连看 ** 题目: 本题要求实现一个简易连连看游戏模拟程序。 给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x1 ,y1 )、(x2 ,y2 ),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratu原创 2021-03-14 16:24:06 · 123 阅读 · 0 评论 -
链表逆置
** 实验11-2-9 链表逆置 ** 题目: 本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下: struct ListNode { int data; struct ListNode *next; }; 函数接口定义: struct ListNode *reverse( struct ListNode *head ); 其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。 裁判测试程序样例: #i原创 2021-02-16 00:22:47 · 748 阅读 · 0 评论 -
单链表结点删除
** 实验11-2-8 单链表结点删除 ** 题目: 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下: struct ListNode { int data; ListNode *next; }; 函数接口定义: struct ListNode *readlist(); struct ListNode *deletem( struct ListNode *L, int m ); 函数readlist从标准输入读入一系列正整数,按原创 2021-02-16 00:16:53 · 236 阅读 · 0 评论 -
奇数值结点链表
** 实验11-2-6 奇数值结点链表 ** 题目 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下: struct ListNode { int data; ListNode *next; }; 函数接口定义: struct ListNode *readlist(); struct ListNode *getodd( struct ListNode **L ); 函数readlist从标准输入读入一系列正整数,按照读入顺序建原创 2021-02-16 00:08:29 · 169 阅读 · 0 评论 -
实验11-2-5 链表拼接
** 实验11-2-5 链表拼接 ** 题目 本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下: struct ListNode { int data; struct ListNode *next; }; 函数接口定义: struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2); 其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两原创 2021-02-12 23:44:40 · 238 阅读 · 0 评论