- 博客(29)
- 资源 (5)
- 收藏
- 关注
原创 暂时不更新博客了
这个暑假在看《C专家编程》、《现代操作系统》、《深入理解计算机系统》、《C语言深度解剖》、《C陷阱与缺陷》。这些书籍都是经典之作,推荐给大家。我在读完后会写相应的读书笔记或者录制讲解视频,目前还没决定好。秋招临近,时间肯定也挺挤的。待我理解了这些经典著作后再来分享。...
2019-08-24 10:56:04 225
原创 编写算法,实现下面函数的功能。函数void insert(char *s, char *t, int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入
void Insert(char *s, char *t, int pos)//将字符串t插入到字符串s的pos位置中,pos最小值为0{ int i,j, len_s,len_t, move_len; char *ptr, *ptr_s; i = 0; j = 0; len_s = 0; len_t = 0; for(ptr = s; *ptr != '\0'; ptr+...
2019-06-27 16:23:38 5168
原创 P147.3.(2)判断两棵树是否相等
核心语句为最后一句:(T1 -> data == T2 -> data)判断了当前节点的值是否相等;Is_Same_Tree(T1 -> lchild, T2 -> lchild) && Is_Same_Tree(T1 -> rchild, T2 -> rchild)左右子树递归;只要其中一个条件返回值为0则最终的返回值也为0;(这条语句不是我想...
2019-06-27 16:22:39 237
原创 设计一个算法,删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同或不同)
void Delete_Some_Num(LinkList &s, int min, int max){ LNode *p, *q, *p_front, *temp; //p_front用于记录p前面的节点位置 p = s -> next; p_front = s; while(p && p -> data <= min)//p最终指向第一...
2019-06-12 18:20:19 6565
原创 P109.3.(1)写一个算法统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串的合法字符为A~Z这26个字母和0~9这10个数字)
#include <iostream>#include <stdlib.h>using namespace std;int main(){ int times[36]; char ch; int num; for(int i = 0; i < 36; i++) { times[i] = 0; } cout<<"请输入字符"&...
2019-06-05 17:11:14 18131 3
原创 设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的
1.mian.cpp文件内容:#include <iostream>#include <stdlib.h>#include "GlobalDefine.h"#include "LinkList.h"#include "Stack.h"using namespace std;int main(){ //Page85.2.(3) int input...
2019-06-02 20:35:35 17390
原创 设计算法将一个带头结点的单链表A分解为两个具有相同结构的链表B、C,其中B表的结点为A表中值小于零的结点,而C表的结点为A表中值大于零的结点(链表A中的元素为非零整数,要求B、C表利用A表的结点)。
void Divid_Link_Liist(LinkList &L1, LinkList &L2, LinkList &L3){ /* function:将链表L1按元素的正负分为L2和L3两个链表 参数说明:L1为待分解的链表,L2为负数构成的链表的头结点,L3为正数构成的链表的头结点 */ LNode *p1, *p2, *p3; p1 = L1-...
2019-06-01 20:36:13 9275
原创 P53.2.(3)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。
一把辛酸泪啊。。。。。。本人之前用的是DEVC++,可能是本人太菜,把这个编译器给整出问题了,一直给我报错,我就把它给卸载了,满以为换上了宇宙第一IDE就会过上幸福快乐的生活,没想到是噩梦的开始。。。。。。。可能是本人太菜用VS2010时非常的刺手,一开始写hello world给我各种报错,我就去找错误源,我的天。。。。。兼容性、语言标准、编译头。。。。。后面写好程序后找bug,我晕哟你给我报的...
2019-06-01 10:18:36 9927
原创 写一个递归算法,实现字符串逆序存储,要求不另设串存储空间
#include <stdio.h>void ReverseStorage(char *ch){ if(!*ch) { return; } ReverseStorage(ch + 1); printf("%c", *ch);}int main(){ char str[20]; gets(str); ReverseStorage(str);}...
2019-05-10 19:42:48 2869 3
原创 P85.2.(2)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半的字符入栈)(C语言描述)
做这个题时遇到个bug,即main()中的第一句,我定义了指针str_input用来装输入的字符串,但是后面赋值操作却用了get(),如果要用get()读入字符串的话就应该将str_input定义为数组,编译时没有报错,但运行时出错。我调试的时候一直以为bug在IsPlalindrome()里面,耽误了很久的时间。基础知识不够牢固啊!#include <stdio.h>#in...
2019-05-09 21:03:09 20753 7
原创 双栈操作的函数
#include <stdio.h>const int TRUE = 1;const int FALSE = 0;typedef int SElementType;typedef struct{ int top[2]; int bottom[2]; SElementType *v; int arr_len;}DbStack;int StackInit(Db...
2019-05-08 21:07:37 268
原创 2.通过计算同轴线内导体插入矩形波导的深度h和同轴线距离右边界的看距离l以达到降低S参数的目的
1.分析与计算:由《微波元件原理与设计》:可参考几何模型和4.3节“激励器和转接器”的式4.3.43和式4.3.44如图为了使同轴线与矩形波导匹配,我们假设R=50ohm,X10=0;当使用BJ100(即a=22.86mm,b=10.16mm),通过MATLAB计算(注意:不可用计算器,精度不够)可得到h=5.9mm,l=9.4mm;2.几何模型:3.点场分布...
2019-05-05 14:56:49 1618 2
原创 KMP算法(C语言实现)
KMP算法,详细讲解可参考视频:https://www.bilibili.com/video/av3246487?from=search&seid=15034383192931240426我认为 KMP算法中最重要的便是理解next数组,理解为何它就减少了计算量。建议在看视频的过程中手算next数组,然后再写代码。程序说明:如果主串包含了模式串则打印:匹配成功,反之:匹配失败。...
2019-05-03 20:20:36 1656
原创 1.HFSS同轴线(内径3mm,外径7mm)转矩形波导(BJ100)3D模型
最近在老师的指导下做“测试材料电磁参数”的实验,初学HFSS,根据实验的需要做出了初步的3D模型,记录下来,以便需要时可以随时查看。3D模型如下:同轴线内导体为铜(copper),深入矩形波导的长度为20mm。其余介质为空气。(本想传入GIF,但是传不上来)仿真的电场分布图:简要说明:目前,已经建立了矩形波导和同轴线的3D模型,电磁波仿真频率设置为矩形波导(BJ100)...
2019-04-24 19:54:39 10685 5
原创 将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。
如有错误的地方还请斧正emm.....涉及到的重要知识点:引用:void Creat_LinkList(LinkList &L, int len);和void Decrease_LinkList(LinkList &L1, LinkList &L2)都涉及到一个点:“引用”第一个函数的参数LinkList &L有必要说明一下,在链表操作中经常在函数参...
2019-04-18 21:23:29 7594 1
原创 将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据。
逼话少说,上代码!#include <stdio.h>#include <stdlib.h>#include <malloc.h>const int TRUE = 1;const int FALSE = 0;typedef int Status;typedef struct node{ int data; node* next;}...
2019-04-13 17:14:37 6945 3
原创 又入坑了
7-2然后是几点(15分)有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,...
2019-04-05 10:29:50 301
原创 7-1 厘米换算英尺英寸 (15 分)
7-1厘米换算英尺英寸(15分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。...
2019-04-05 09:23:16 848
转载 PTA--1011
给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。PlayWithYou关注0人评论3080人阅读2018-03-06 15:36:45链接:https://www.nowcoder.com/pat/6/problem/4077题目描述给定区间[-2的31次方,2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。输...
2019-03-27 10:18:51 179
原创 基于三极管的手动上电、自动断电电路
1.材料:三极管(PNP和NPN)+STM8单片机(也可以是其他单片机)+按键(按下即连通,松开即断开)+若干电阻2.要实现的功能:按键按下时单片机上电开始工作,按键松开后单片机不能立即断电而需要再继续工作一段时间,在任何需要的时候通过单片机自行断电。即手动上电,自动断电。3.三极管做开关的典型应用实例:众所周知三极管可以用来开关控制电路的开断,典型的是通过配置引脚电平的高低控制蜂鸣器的工...
2019-03-16 21:43:38 3983 1
原创 为什么脉冲信号含有丰富的高频信号?
之前看到过这个结论,但一直没搞清楚原因,网上也没有明确的解释,通过前辈的指导终于明白了其原因。由于个人水平有限,不乏有不准确甚至错误的地方,还请海涵、指教。你学过傅里叶变换吗?没学过也没关系(可以参考这篇好文章,很形象https://www.cnblogs.com/h2zZhou/p/8405717.html),只需要知道:任何信号都可以分解为无数个正弦波的叠加就行了。第一列由上至下正弦波...
2019-03-16 20:22:17 2798
原创 PAT--1007 素数对猜想(20 分)
1007 素数对猜想(20 分)让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输...
2018-08-30 16:39:23 323
原创 PAT--1006
1006 换个格式输出整数(15 分)让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出...
2018-08-28 19:41:50 211
原创 PAT乙级真题1005继续(3n+1)猜想
编程题1005 继续(3n+1)猜想(25 分)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为...
2018-08-28 18:06:48 483
原创 PAT乙级真题1004
1004 成绩排名 (20)(20 分)读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为\ 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩其中姓名和学号均为不超过10个字符的字符...
2018-08-18 17:20:04 267
原创 PAT乙级真题1003
编程题1003 我要通过!(20)(20 分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;\任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空...
2018-08-18 14:45:01 245
原创 PAT乙级真题1002
1002 写出这个数 (20)(20 分)读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100^。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输...
2018-08-16 22:05:11 160
原创 /*PAT乙级真题1001,总分:15,得分:15*/
/*1001 害死人不偿命的(3n+1)猜想 (15)(15 分)卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(...
2018-08-16 15:38:18 121
原创 写博客的目的
一直以来,在学习的过程中看过不少博客。逐渐知道了,写博客是一种整理自己思维的不错途径,也想通过这样的途径减轻自己内心的浮躁,专心地学好技术,用心地体味生活。由于笔者仅是一名学生,水平有限,不敢妄言自己写的东西十分准确。若写的东西有错误的地方还请不吝赐教。...
2018-08-16 15:28:54 330
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人