- 博客(165)
- 收藏
- 关注
原创 队列 (链式结构)
头文件MyQueue.h#ifndef _MYQUEUE_H_#define _MYQUEUE_H_#include <stdlib.h>#include <stdbool.h>typedef struct Node *pNode;typedef struct Queue *pQueue; // 相当于 pHeadstruct Node{ int data; pNode next;};struct Queue
2021-11-27 16:07:31
498
原创 链表——环形链表
头文件cList.h#ifndef _CLIST_H_#define _CLIST_H_#include <stdio.h>#include <stdlib.h>#include <stdbool.h>struct Node;typedef struct Node *pNode;struct Head;typedef struct Head *pHead;struct Node{ int data; pNode next;
2021-11-27 14:48:16
1034
原创 栈(链式结构)
头文件MyStack.h#ifndef _MYSTACK_H_#define _MYSTACK_H_#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#define MAXN 1024#define INFINITY 65535typedef struct Node *pNode;typedef struct Stack *LinkStack;struct Node{
2021-11-26 20:46:20
930
原创 链表——双链表
头文件 MyList.h#ifndef _MYLIST_H_#define _MYLIST_H_#include <stdio.h>#include <stdlib.h>#include <stdbool.h>struct Node;typedef struct Node *pNode;struct Head;typedef struct Head *pHead;pHead Create (void);
2021-11-26 15:47:16
206
原创 中等——第11章
1.用指向一维数组的指针变量即二维数组的行指针作为函数参数,实现矩阵转置。按如下函数原型编程计算并输出m×n阶矩阵的转置矩阵。其中,m和n的值由用户从键盘输入。已知m和n的值都不超过10。void Transpose(int (*a)[N], int (*at)[M], int m, int n);void InputMatrix(int (*a)[N], int m, int n);void PrintMatrix(int (*at)[M], int n, int m);输入提示信息:"In
2021-11-23 16:13:30
1814
原创 中等——第12章
编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。例如:Input vote 1:liInput vote 2:liInput vote 3:ZhangInput vote 4:wangInput vote 5:zhangInput vote 6:.
2021-11-23 14:53:58
984
原创 中等——结构体
1.候选人得票统计程序。设有3个候选人,每次输入一个得票候选人的名字,不考虑弃权情况,要求最后输出各个候选人的得票结果(参加投票的人数由程序运行时输入)。输入格式:"输入%d个候选人的基本信息:姓名\n""%s""输入参加投票的人数:""%d""输入%d个参加投票人的投票情况\n""%s"输出格式:"输出%d个候选人的基本信息:姓名,票数\n""%s %d\n"程序的运行示例如下:输入3个候选人的基本信息:姓名abc输入参加投票的人数:5输入5个参加投票人的投票情况
2021-11-23 11:59:02
3280
1
原创 简单——趣味题
1.鲁智深吃馒头据说,鲁智深一天中午匆匆来到开封府大相国寺,想蹭顿饭吃,当时大相国寺有99个和尚,只做了99个馒头,智清长老不愿得罪鲁智深,便把他安排在一个特定位置,之后对所有人说,从我开始报数(围成一圈),第5个人可以吃到馒头(并退下),按照这个公平的方法,所有和尚都吃到了馒头,唯独鲁智深没有吃上。请问他在哪个位置?要求编程计算该位置并输出。输入格式:无输出格式:"%d\n"#include <stdio.h>#define MAXN 99 // 馒头总数#defi
2021-11-22 20:57:47
1698
1
原创 中等——动态数据结构
1.n个人围成一圈,顺序编号。从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号。样例输入:(第一行输入)6 3(两个输入数据之间有空格)样例输出:(换行输出)1#include <stdio.h>#include <stdlib.h>#define MAXN 100int main (void){ int n; int m; scanf ("%d%d", &n, &m);
2021-11-22 16:32:51
1355
1
原创 困难——动态数据结构
1.反向输出一个链表(共5个整型元素)。程序运行示例如下:please input 5 data==>1 2 3 4 5The value is ==>5The value is ==>4The value is ==>3The value is ==>2The value is ==>1#include <stdio.h>#include <stdlib.h>#define MAXN 5struct List
2021-11-22 14:36:26
1920
1
原创 困难——第十二章
1.编程用链表方法实现堆栈数据结构。堆栈(Strack)是指这样一段内存,它可以理解为一个筒结构,先放进筒中的数据被后放进筒中的数据“压住”,只有后放进筒中的数据都取出后,先放进去的数据才能被取出,称为“后进先出”。堆栈的长度可随意增加。堆栈结构可用链表实现。设计一个链表结构需包含两个成员:一个存放数据,一个为指向下一个节点的指针。当每次有一个新数据要放入堆栈时,称为“压入堆栈”,这时动态建立一个链表的节点,并连接到链表的结尾;当每次从堆栈中取出一个数据时,称为“弹出堆栈”,这意味着从链表的最后一个节点.
2021-11-20 19:10:28
1196
原创 困难——二维数组
1.找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小。也可能没有鞍点。**输入数据格式:"\n输入行数:""%d""\n输入列数:""%d""第%d行?\n""%d"**输出格式要求:"%5d""\n第%d行,第%d列的%d是鞍点\n""\n矩阵中无鞍点!\n"程序的运行示例1如下:输入行数:3输入列数:3第0行?1 2 3第1行?4 5 6第2行?7 8 9 1 2 3 4 5 6 7 8
2021-11-20 16:44:52
2436
原创 《数组与指针程序设计》——小组作业(21-32)
21. 输入一串字符统计其中大写字母、小写字母、数字的个数,输出结果。#include <iostream>using namespace std;void BookStr (string str);int main (void){ string str; cout << "Please input a string: " << endl; cin >> str; BookStr (str); s
2021-11-18 02:34:32
657
2
原创 《数组与指针程序设计》——小组作业(11-20)
⒒编写两个程序: ⑴实现通过凯撒密码对字符串加密,密钥通过键盘输入。 ⑵实现上一程序的解密。#include <iostream>using namespace std;char *Encrypty (char *str, int offset);char *Decode (char *str, int offset);int main (void){ char str[80]; cout << "Please...
2021-11-16 20:42:10
632
原创 《数组与指针程序设计》——小组作业(1-10)
⒈.狐狸捉兔子问题围绕着山顶有10个洞,一只兔子和一只狐狸分别住在洞里,狐狸总想吃掉兔子,一天,兔子对狐狸说:你想吃掉我有一个条件,先把洞顺序编号,你从最后一个洞出发,第一次先到第一个洞找我,第二次隔一个洞找我,第三次隔两个洞找我,第四次隔三个洞找我,……依此规律类推,寻找次数不限,我躲在一个洞里不动,只要你找到我,就可以吃掉我。结果狐狸跑断了腿也没有找到兔子。请问,兔子躲在哪个洞里?假设狐狸找了1000次。#include <iostream>using namespace st
2021-11-16 15:09:58
723
1
原创 困难——简单指针变量
1.利用指针能直接操作内存的特点来编程输出字符串中每个字符在内存中的存储编码(字符串中可以包含英文数字和汉字)。程序的运行示例1如下:请输入一个字符串,长度小于等于100:abcABC012中国人该字符串的内存编码为: 61 62 63 41 42 43 30 31 32 d6 d0 b9 fa c8 cb 程序的运行示例2如下:请输入一个字符串,长度小于等于100:12345上山打老虎该字符串的内存编码为: 31 32 33 34 35 c9 cf c9 bd b4 f2 c0 cf b
2021-11-11 21:17:01
1480
转载 困难——循环控制结构
1.编写一个简单的23 根火柴游戏程序,实现人跟计算机玩这个游戏的程序。为了方便程序自动评测,假设计算机移动的火柴数不是随机的,而是将剩余的火柴根数减1后对4求余来计算,如果计算结果为0,则取走1根。游戏规则是:1、两个游戏者开始拥有23 根火柴棒;2、每个游戏者轮流移走1 根、2根或3根火柴;3、谁取走最后一根火柴为失败者。程序一次运行示例如下: 这里是23根火柴游戏!!注意:最大移动火柴数目为三根请输入移动的火柴数目:3您移动的火柴数目为:3您移动后剩下的火柴数目为:20
2021-11-10 21:22:04
6415
1
原创 困难——指针变量作函数参数
1.用指针编程实现3X4的二维数组的元素读入以及求此二维数组的最大值及最大值下标 请用以下函数实现:void Input(int *p,int m, int n); /*数组元素读入函数*/int FindMax(int *p, int m, int n, int *pRow, int *pCol); /*求最大值及下标函数*/若存在若干个相同最大元素,则按照第一次出现的最大值的下标输出。***输入提示信息:"Please input your data:\n"***输入格式要求:无.
2021-11-10 19:53:23
1457
原创 困难 —— 字符数组作函数参数
1.对输入的8个字符串(每个字符串长度不超过20)按照字典顺序进行排序并输出。不限定排序方法,不能使用goto语句。输入输出格式:输入:%s输出:%s\n输入:多个字符串用空格分隔输出:排序好的字符串,每行一个字符串,末尾有空行。输入输出样例:输入:diankuang liuxu sui fengwu qingbo taohua zhu shuiliu输出:diankuangfengwuliuxuqingboshuiliusuitaohuazhu#includ.
2021-11-08 20:40:59
8375
1
原创 《基本控制结构》-小组作业 (21~32)
21.父亲今年30岁,儿子今年6岁,问多少年后,父亲的年龄是 儿子的2倍?#include <iostream>using namespace std;class character{ public: int age;};int main (void){ character father; character son; father.age = 30; son.age = 6; cout <<.
2021-10-25 18:30:03
797
2
原创 《基本控制结构》-小组作业 (11~20)
⒒求100----200之间的所有能被3以及7整除的自然数的平方根 之和。#include <iostream>#include <cmath>using namespace std;#define FACTOR 3 * 7int main (void){ double sum; for (int i = 5; i < 10; i ++) { int res = i * FACTOR; if (r
2021-10-25 18:11:09
630
原创 《基本控制结构》-小组作业 (1~10)
while (!(cin >> principal)) { cout << "Error input !" << '\n' << "Please try again: " << endl; cin.clear (); while (cin.get () != '\n') { continue; } } while..
2021-10-24 22:52:11
757
3
原创 Python爬虫入门 ——请求模块 Urllib【2】
复杂的网络请求Request类简介上一节的urlopen方法能够发送一个基本的网络请求,但这并不是一个完整的网络请求。一个完整的网络请求,需要包括Headers, Cookies和代理IP等内容,这样才能更好的模拟一个浏览器所发送的网络请求。Request类则可以为我们解决这个问题其语法的基本格式如下urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, me.
2021-10-24 09:32:22
2414
原创 Python爬虫入门 ——请求模块 Urllib【1】
urllib.request: 用于实现基本的HTTP请求的模块urllib.error: 异常处理模块, 如果在发送网络请求时超时,可以捕获异常,进行异常的有效处理urllib.parse: 用于解析URL的模块urllib.robotpraser: 用于解析robots.txt 文件,判断网站是否可以爬取信息使用 urlopen()方法发送请求urllib.request模块提供了 urlopen()的方法,用于实现最基本的HTTP请求,然后接受服务器所响应的数据,格式如下re
2021-10-11 21:14:32
288
原创 防止无用户操作所生成得exe文件黑框“闪退”
若代码只含有如 printf 类语句所生成的 exe 文件存在闪退现象实际是命令执行太快,结束后关闭了程序解决方案除了传统的system 函数// C 版本#include <stdlib.h>system ("pause");// C++ 版本#include <cstdlib>system ("pause");getchar 函数// 通用// getchar 语句 在 return 前调用getch...
2021-10-07 09:56:58
612
原创 482. 密钥格式化
有一个密钥字符串 S ,只包含字母,数字以及 '-'(破折号)。其中, N 个 '-' 将字符串分成了 N+1 组。给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。来源:力扣(LeetCode)char * licenseKeyFormatti
2021-10-04 15:51:41
124
原创 5872. 连接后等于目标字符串的字符串对
给你一个 数字字符串数组 nums和一个 数字字符串 target,请你返回 nums[i] + nums[j](两个字符串连接)结果等于 target的下标 (i, j)(需满足 i != j)的数目。来源:力扣(LeetCode)class Solution { public int numOfPairs(String[] nums, String target) { int ans = 0; for (int ...
2021-10-03 07:09:12
137
原创 5871. 将一维数组转变成二维数组
给你一个下标从 0开始的一维整数数组original和两个整数m和n。你需要使用original中所有元素创建一个m行n列的二维数组。original中下标从 0到 n - 1(都 包含 )的元素构成二维数组的第一行,下标从 n到 2 * n - 1(都 包含)的元素构成二维数组的第二行,依此类推。请你根据上述过程返回一个m x n的二维数组。如果无法构成这样的二维数组,请你返回一个空的二维数组。来源:力扣(LeetCode)模拟...
2021-10-03 06:53:59
266
原创 223. 矩形面积
给你 二维 平面上两个 由直线构成的 矩形,请你计算并返回两个矩形覆盖的总面积。每个矩形由其 左下 顶点和 右上 顶点坐标表示:第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。第二个矩形由其左下顶点 (bx1, by1) 和右上顶点 (bx2, by2) 定义。来源:力扣(LeetCode)int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx
2021-09-30 01:27:07
74
原创 1012 数字分类
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5= 被 5 除后余 4 的数字中最大数字。输入格式:每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数N,随后...
2021-09-29 20:48:43
80
原创 389. 找不同
给定两个字符串 s 和 t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。来源:力扣(LeetCode)位运算char findTheDifference(char * s, char * t){ int slen = strlen (s); int tlen = strlen (t); int ret = 0;// 位相同为 0 for (int i = 0;...
2021-09-29 13:19:22
62
原创 67. 二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字1和0。来源:力扣(LeetCode)模拟十进制加法进位// 反转字符串函数 reservevoidreserve (char *s){ int length = strlen (s); for (int i = 0; i < length / 2; i ++) { char tmp = s[i]; s[i] = s[...
2021-09-29 06:48:26
73
原创 190. 颠倒二进制位
颠倒给定的 32 位无符号整数的二进制位。来源:力扣(LeetCode)。uint32_t reverseBits(uint32_t n) { uint32_t ans = 0; for (int i = 0; i < 32&&n > 0; ++i) { ans = (ans << 1) + (n >> i & 1); }// ans << 1 表示
2021-09-29 06:40:50
50
原创 2016. 增量元素之间的最大差值
给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 nums[i] < nums[j] 。返回 最大差值 。如果不存在满足要求的 i 和 j ,返回 -1 。来源:力扣(LeetCode)双循环int maximumDifference(int* nums, int numsSize){ int max = 0;
2021-09-29 06:08:26
180
原创 136. 只出现一次的数字
定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?来源:力扣(LeetCode)位运算int singleNumber(int* nums, int numsSize){ int ans = nums[0]; for (int i = 1; i < numsSize; i ++) { ans ^= .
2021-09-26 21:50:40
47
原创 1143. 最长公共子序列
给定两个字符串text1 和text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。来源:力扣(LeetCode)动态规划int...
2021-09-25 11:36:37
73
原创 583. 两个字符串的删除操作
给定两个单词word1和word2,找到使得word1和word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。提示:给定单词的长度不超过500。来源:力扣(LeetCode)动态规划int minDistance(char * word1, char * word2){ int length1 = strlen (word1); int length2 = strlen (word2); int dp[length1 ...
2021-09-25 11:34:21
68
原创 1021 个位数统计
给定一个k位整数N=dk−110k−1+⋯+d1101+d0(0≤di≤9,i=0,⋯,k−1,dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。...
2021-09-24 22:57:53
120
原创 1008 数组元素循环右移问题
给你一个字符串 s ,逐个翻转字符串中的所有 单词 。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。说明:输入字符串 s 可以在前面、后面或者单词间包含多余的空格。翻转后单词间应当仅用一个空格分隔。翻转后的字符串中不应包含额外的空格。来源:力扣(LeetCode)...
2021-09-24 19:41:27
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人