
C
文章平均质量分 76
KonBAI-Q
这个作者很懒,什么都没留下…
展开
-
C语言实现科学计算器(算法思想)
程序设计目的是用户可以输入中缀表达式,回车后计算出结果。 首先要知道中缀表达式如何转换成后缀(前缀)表达式,中缀表达式是人容易理解的表达式,而对计算机来说,计算中缀表达式是很困难的。所以我们先把中缀表达式转化成后缀表达式或者转换成前缀表达式后在计算。 中缀表达式是区分运算符优先级的,由于不同的运算符间存在优先级,同一优先级的运算间又存在着运算结合问题。所以简单地从左往右...原创 2018-03-07 00:18:45 · 16157 阅读 · 2 评论 -
PTA 求链式线性表的倒数第K项
求链式线性表的倒数第K项题目要求: 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例: 4 1 2 3 4 5 6 7 8 9 0 -1...原创 2018-06-12 12:52:00 · 638 阅读 · 0 评论 -
7-4 统计工龄(20 分)
题目要求: 给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。 输入格式: 输入首先给出正整数N(≤10 5 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。 输出格式: 按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。 输入样例: ...原创 2018-05-29 15:34:35 · 11560 阅读 · 0 评论 -
邻接表存储图的广度优先遍历
题目要求 试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; struct AdjVNode{ Ve...原创 2018-05-24 21:48:13 · 24740 阅读 · 6 评论 -
PTA 银行业务队列简单模拟
银行业务队列简单模拟设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。输入格式: 输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟...原创 2018-06-13 00:10:26 · 3965 阅读 · 3 评论 -
C语言 六度空间
六度空间(30 分) “六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图所示。 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追...原创 2018-06-07 11:49:53 · 4107 阅读 · 0 评论 -
PTA 英文单词排序
英文单词排序(25 分)本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出。如果长度相同,按照输入的顺序不变。输入格式: 输入为若干英文单词,每行一个,以#作为输入结束标志。其中英文单词总数不超过20个,英文单词为长度小于10的仅由小写英文字母组成的字符串。输出格式: 输出为排序后的结果,每个单词后面都额外输出一个空格。输入样例: blue ...原创 2018-06-08 09:56:18 · 9545 阅读 · 0 评论 -
PTA 功夫传人(邻接表、DFS)
功夫传人题目要求: 一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。 这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位...原创 2018-06-01 10:01:02 · 699 阅读 · 2 评论 -
C语言的快排函数qsort()
qsort()函数的用法描述: 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个元素要O(nlogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环可以在大部分的架构上很有效率地被实现出来。 C语言在< stdlib.h> 库里提供快排函数实现,这个函数用于对数组的排序...原创 2018-06-08 18:10:43 · 2192 阅读 · 0 评论 -
PTA 冒泡法排序
PTA 冒泡法排序题目描述: 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(< N),输出扫描完第K遍后的中间结果数列。输入格式...原创 2018-06-09 03:22:24 · 9115 阅读 · 2 评论 -
PTA 在一个数组中实现两个堆栈
在一个数组中实现两个堆栈(20 分)本题要求在一个数组中实现两个堆栈。函数接口定义:Stack CreateStack( int MaxSize );bool Push( Stack S, ElementType X, int Tag );ElementType Pop( Stack S, int Tag );其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模...原创 2018-06-24 02:33:39 · 1178 阅读 · 0 评论 -
PTA 树的填空题
题目即答案如图所示:原创 2018-06-25 17:04:25 · 1648 阅读 · 0 评论 -
PTA 抢红包
输入样例: 10 3 2 22 10 58 8 125 5 1 345 3 211 5 233 7 13 8 101 1 7 8800 2 1 1000 2 1000 2 4 250 10 320 6 5 11 9 22 8 33 7 44 10 55 4 2 1 3 8800 2 1 23 2 123 1 8 250 4 2...原创 2018-06-25 17:14:54 · 1030 阅读 · 0 评论 -
PTA 堆栈操作合法性
堆栈操作合法性题目要求: 假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。输入格式: 输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个仅由S和X...原创 2018-07-02 02:36:27 · 3067 阅读 · 0 评论 -
PTA 最大子列和问题
最大子列和问题Code:#include<stdio.h>int main(void){ int x, i, n; int sum, max; sum = max = 0; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &x...原创 2018-06-12 12:49:28 · 426 阅读 · 0 评论 -
PTA 数组循环左移
数组循环左移题目要求: Code:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;struct list { int data; struct list *next;};struct list *randlist(struct list *l, int n){ struct list *h, ...原创 2018-06-12 12:47:18 · 1365 阅读 · 0 评论 -
PTA 求前缀表达式的值
3-2 求前缀表达式的值算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式: 输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、\以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式...原创 2018-06-12 02:54:39 · 1351 阅读 · 0 评论 -
PTA 整型关键字的散列映射(hash)
整型关键字的散列映射题目要求如下: 7-1 整型关键字的散列映射(25 分) 给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。 输入格式: 输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。 ...原创 2018-04-22 15:10:44 · 4330 阅读 · 0 评论 -
PTA 是否完全二叉搜索树
是否完全二叉搜索树题目要求如下: 7-1 是否完全二叉搜索树(30 分) 将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。 输入格式: 输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。 输出格式: 将输入的N...原创 2018-04-18 17:41:30 · 2645 阅读 · 0 评论 -
C语言实现科学计算器
如不清楚算法思路,请点下方的链接: 算法思路#include<stdio.h>#include<stdlib.h>/*数据栈*/struct shuju { int data[100]; int top;};/*符号栈*/ struct fuhao { char symbol[100]; int top;};...原创 2018-04-14 18:19:10 · 14934 阅读 · 22 评论 -
PTA 树的遍历(玩转二叉树)
PTA 树的遍历(玩转二叉树) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余...原创 2018-04-14 11:21:02 · 7331 阅读 · 4 评论 -
C语言实现《2048游戏》
滑块有颜色、有最高分(用到文件)#include <stdio.h>#include <stdlib.h>#include <conio.h> /*使用getch()函数*/#include <time.h>#include <windows.h> /*使用Sleep()函数*/ void Menu();//菜单vo...原创 2019-07-03 23:56:21 · 4915 阅读 · 24 评论 -
邻接矩阵存储图的深度优先遍历
题目要求: 试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ ...原创 2018-05-20 12:34:47 · 29459 阅读 · 1 评论 -
两个有序链表序列的合并
两个有序链表序列的合并题目要求如下:已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。输出格式: 在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:...原创 2018-05-08 15:18:20 · 4429 阅读 · 0 评论 -
寻找大富翁(C语言)
寻找大富翁(25 分)题目要求: 胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式: 输入首先给出两个正整数N(≤10^6)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空...原创 2018-06-03 11:17:32 · 9705 阅读 · 1 评论 -
PTA 点赞狂魔
点赞狂魔微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式: 输入在第一行给...原创 2018-06-12 02:42:14 · 5125 阅读 · 3 评论 -
PTA 求二叉树高度
6-1 求二叉树高度本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; ...原创 2018-06-12 02:45:47 · 2903 阅读 · 0 评论 -
顺序存储的二叉树的最近的公共祖先问题
7-1 顺序存储的二叉树的最近的公共祖先问题设顺序存储的二叉树中有编号为i和j的两个结点,请设计算法求出它们最近的公共祖先结点的编号和值。输入格式: 输入第1行给出正整数n(≤1000),即顺序存储的最大容量;第2行给出n个非负整数,其间以空格分隔。其中0代表二叉树中的空结点(如果第1个结点为0,则代表一棵空树);第3行给出一对结点编号i和j。题目保证输入正确对应一棵二叉树,且1≤i...原创 2018-06-12 02:47:43 · 1476 阅读 · 2 评论 -
PTA 表达式转换
3-1 表达式转换算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式: 输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式: 在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔...原创 2018-06-12 02:52:32 · 2017 阅读 · 0 评论 -
PTA 猴子选大王
猴子选大王 (20 分)一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样...原创 2018-11-19 13:07:44 · 2156 阅读 · 0 评论