- 博客(55)
- 收藏
- 关注
原创 二叉树的各种构造与遍历
//张雨辰 2021.5.20#include <iostream>#include <math.h>#include <stack>#include <stdio.h>#define MAXQSIZE 100using namespace std;typedef struct BiNode{ char data; BiNode *lchild, *rchild;} * BiTree;struct SqQueue.
2021-06-30 09:50:25
173
原创 7-4 求链式线性表的倒数第K项 (20 分)
#include <iostream>using namespace std;int main(){ int n; cin >> n; int array[n]; int cnt=0,t; while(1){ cin >>t; if(t>=0) array[(cnt++)% n ]=t; else break; } if(cnt >= n) cout << array[cnt% n ]; els.
2021-03-14 18:57:57
515
原创 单向加头链表
刚刚开始学数据结构随便写写#include <iostream>using namespace std;//伟大的张雨辰同志友情赞助^_^ //创建于2021.3.11 未完待续O(∩_∩)O哈哈~ typedef int element_type;typedef struct linkednode{ //链表定义 element_type data; linkednode *next;}snode,*ptr;void initLink(ptr &h){
2021-03-11 15:56:25
270
原创 7-2 装箱问题
7-2 装箱问题 (20 分)假设有N项物品,大小分别为s1、s2、…、si、…、sN,其中si为满足1≤si≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数si(1≤si≤100,
2021-03-03 19:57:51
577
1
原创 7-1 数组循环左移 (20 分)
7-1 数组循环左移 (20 分)本题要求实现一个对数组进行循环左移的简单函数:一个数组a中存有n(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(am⋯an−1a0a1⋯am−1)(最前面的m个数循环移至最后面的m个位置)。如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:输入第1行给出正整数n(≤100)和整数m(≥0);第2行给出n个整
2021-03-02 20:11:09
566
原创 c语言 最长最短单词
【描述】输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。【输入】一行句子。【输出】两行输出:第1行,第一个最长的单词。第2行,第一个最短的单词。【样例输入】I am studying Programming language C in Peking University【样例输出】ProgrammingI#include <.
2020-10-27 15:55:50
4517
5
原创 插入排序
有一个己排好序的数组,要求输入一个数后,按原来排序的规律把它插入数组中。(不接受异常处理)#include <stdio.h>void insert (int *,int *);int main(){ int a[1000],len,i; printf("请输入输入数字个数:"); scanf("%d",&len); printf("请输入排好序的数字:");...
2020-04-21 20:45:26
148
原创 c语言二级指针
*p:一级指针:存放变量的地址。 **q:二级指针:存放一级指针的地址。(二级指针只能存放一级指针的地址)#include <stdio.h>int main(){ int x=7; int *p=&x, **q=&p; printf("x地址:%u\n",&x); printf("p地址(一级指针):%u\n",&p)...
2020-03-09 17:45:05
236
原创 7-70 到底有多二 (15 分)
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。输入格式:输入第一行给出一个不超过50位的整数N。输出格式:...
2019-11-17 11:12:21
718
1
原创 7-69 猴子选大王 (20 分)
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11...
2019-11-10 10:39:34
349
原创 数组指针
数组指针,指向数组的指针,也可以写成数组形式。数组本质上就相当特殊的常数指针(其变量名相当于一个地址,但值不可改变)。int (*p)[x], 相当于指向一个长度为4个int 的二维数组。...
2019-11-03 15:00:57
230
原创 7-68 藏头诗 (15 分)
本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流输出样例:一帆风顺#include <stdio.h>#def...
2019-11-03 14:47:01
1378
4
原创 7-117 数字加密 (15 分)
输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。输入格式:输入在一行中给出一个四位的整数x,即要求被加密的数。输出格式:在一行中按照格式“The encrypted num...
2019-11-03 10:56:53
4808
原创 链表的反转
#include <stdio.h>#define Long 4typedef struct Link{ int a; struct Link *next;}link;void ini(link *temp){ int i; for ( i=1; i<=Long; i++) { link *a=(link*)malloc(sizeo...
2019-08-11 16:39:23
104
原创 关于c语言空白字符的读入问题(未完待续)
给后面字符变量赋值什么时候需要清除缓冲区(fflush(stdin)) :scanf()函数是以空白字符为结束的,空白字符仍然留在缓冲区内,其中空白字符的对应关系是 n 对 n,n可以为0;fgets() 和 gets() 一样,最后的回车都会从缓冲区中取出来。只不过 gets() 是取出来丢掉,而 fgets() 是取出来自己留着。fgetsgets...
2019-06-17 20:08:13
1592
原创 输出三角形面积和周长
7-100输出三角形面积和周长(15分)本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一...
2019-06-14 15:44:33
10445
原创 判断上三角矩阵 (15 分)
7-97判断上三角矩阵(15分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结...
2019-06-09 11:10:04
2518
原创 换硬币 (20 分)
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个...
2019-06-09 10:03:02
678
原创 藏尾诗 (20 分)
本题要求编写一个解密藏尾诗的程序。输入格式:输入为一首中文藏尾诗,一共四句。每句一行,但句子不一定是等长的,最短一个汉字,最长九个汉字。注意:一个汉字占两个字节。输出格式:取出每句的最后一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:悠悠田园风然而心难平兰花轻涌浪兰香愈幽静输出样例:风平浪静#include...
2019-06-08 16:18:32
6257
原创 IP地址转换
7-92IP地址转换(20分)一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。#include <stdio.h>#include <math.h> int transform(long num){ int i = 0 ,...
2019-06-07 10:58:03
3432
原创 螺旋方阵
所谓“螺旋方阵”,是指对任意给定的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 2...
2019-06-02 14:06:07
10395
3
原创 关于printf函数
Code 格式 %c 字符 %d 带符号整数 %i 带符号整数 %e 科学计数法, 使用小写"e" %E 科学计数法, 使用大写"E" %f 浮点数 %g 使用%e或%f中较短的一个 %G 使用%E或%f中较短的一个 %o 八进制 %s 一串字符 %u 无符号整数 %x 无...
2019-05-25 21:10:12
263
原创 7-178 约分最简分式 (15 分)
7-178 约分最简分式 (15 分)分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。输入格式:输入在一行中给出一个分数,分子和分母中间以斜杠/分隔...
2019-01-15 14:20:11
1292
原创 7-180 谁先倒 (15 分)
7-180 谁先倒 (15 分)划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人...
2019-01-14 14:59:00
1336
原创 7-184 正整数A+B (15 分)
7-184 正整数A+B (15 分)题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在...
2019-01-11 15:09:22
3557
原创 7-80 打印菱形图案 (15 分
7-80 打印菱形图案 (15 分)本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。输入样例:7输出样例: * * * * * * * * * * * * * * * * * * * * *...
2019-01-09 11:31:27
5418
原创 7-79 求幂级数展开的部分和 (20 分)
7-79 求幂级数展开的部分和 (20 分)已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输...
2019-01-09 10:52:08
2538
2
原创 7-78 求e的近似值 (15 分)
自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。本题要求对给定的非负整数n,求该级数的前n项和。输入格式:输入第一行中给出非负整数n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10输出样例:2.71828180一开始用的是unsigned long int 后来发现阶乘到16时候溢出,改成double...
2018-12-27 10:45:44
3971
转载 typedef定义的函数指针
再谈 typedef(重点为函数指针)有种很方便的写法。typedef int *p;p pointer;这时直接把pointer带入原式中,取代p然后去掉typedef,得到的结果就是int * pointer;哈哈,这样直接替换就很直观多了。C 语言语法简单,但内涵却博大精深;如果在学习时只是止步于表面,那么往往后期会遇到很多困难。typedef 是 C 语言中一个很好用的工具...
2018-12-11 22:00:32
5923
原创 柔性数组
柔性数组结构成员 结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其 他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。实例:#include <...
2018-12-08 15:12:27
158
转载 C语言三种预处理功能
伪指令(或预处理指令)定义:预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:指令 用途# 空指令,无任何效果#include 包含一个源代码文件#define ...
2018-12-05 21:30:38
5877
原创 逆序输出(10分)
逆序输出(10分)题目内容:你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束。然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1。输入格式:一系列正整数,输入-1表示结束,-1不是输入的数据的一部分。输出格式:按照与输入相反的顺序输出所有的整数,每个整数后面跟一个空格以与后面的整数区分,最后的整数后面也有空格。输入样例...
2018-12-03 21:26:33
1544
原创 7-62 切分表达式——写个tokenizer吧 (20 分)
7-62 切分表达式——写个tokenizer吧 (20 分)[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“...
2018-10-26 20:09:16
1148
原创 7-63 查验身份证 (15 分)
7-63 查验身份证 (15 分)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 ...
2018-10-25 09:44:45
1418
原创 7-64 最长对称子串 (25 分)
7-64 最长对称子串 (25 分)对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetri...
2018-10-20 16:16:19
1222
原创 7-61 找最长的字符串 (15 分)
7-61 找最长的字符串 (15 分)本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样例:...
2018-10-16 16:18:03
3662
原创 7-60 删除重复字符 (20 分)
7-60 删除重复字符 (20 分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz这题关键在于删除多个连续相同的字符 #i...
2018-10-16 14:35:23
3710
原创 7-59 字符串逆序 (15 分)
7-59 字符串逆序 (15 分)输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleH#include <stdio.h>int main (){...
2018-10-15 12:14:45
766
原创 7-58 求整数序列中出现次数最多的数 (15 分)
7-58 求整数序列中出现次数最多的数 (15 分)本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2...
2018-10-15 10:16:55
24193
5
原创 7-56 找鞍点 (20 分)
7-56 找鞍点 (20 分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩...
2018-10-14 21:11:12
776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人