- 博客(61)
- 资源 (8)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 数据结构单链表之合并两个有序链表笔记。
1.0题目描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。2.0例子演示:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]3.0思路分析:1.0首先新建一个虚拟头结点Assumehead(为了之后链表L1以及链表L2的排好序之后,方便找到改.
2021-03-20 21:35:03
382
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 有n个学生,每个学生的数据包括学号(num)、姓名(name[20])、性别(sex)、年龄(age), 以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据, 然
题目:有n个学生,每个学生的数据包括学号(num)、姓名(name[20])、性别(sex)、年龄(age),以及三门课程的成绩(score[3])。要求:在main()函数中输入这些学生的这些数据,然后设计一个函数count()来计算每个学生的总分和平均分,最后,打印出所有数据信息(包含原来输入的学生原始数据信息和求解出来的新信息)如果假定成绩最好和最差的人的个数不一定唯一,程序应该如何修改才能完成求出所有最好和最差者,以及输出它们。思路:首先这里需要输入的学生的数据类型这
2020-12-05 19:19:17
9950
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 算法-枚举法-已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。
如何求解这类题型?abcde*a=eeeeee;求出eeeeee是什么数字时或者求abc+bcd=xxx;求每a,b,c,具体是什么数值的算法题时,可以优先使用枚举法方便快捷 ;abcde*a=eeeeee;#include<stdio.h>int main(){ int i1,i2,i3,i4,i5; long mult,result; for(i1=1;i1<=9;i1++) { for(i2=0;i2<=9;i2++) { for(i..
2020-10-24 20:02:24
7561
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 C语言结构体之输入学生基本信息
为了描述不同属性的集合的结构,又不破坏集合之间的个属性之间的关系,需要构造新的数据类型;直接上代码,没必要那么多口水话;输入学生的信息,计算总分以及平均分后输出#Include<stdio.h>#define N 100struct Student//创建一个student的结构体{int num;//学生人数char name[20];//存储学生姓名的一个数组cha...
2019-03-21 22:57:34
39595
19
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 C语言中程序设计题 计算机二级考试
题意:编写一个fun函数,该函数的功能是,统计一行字符串中的单词个数,作为函数值的返回。字符串在主函数中输入。规定所有单词由小写单词组成,单词之间有若干个空格隔开,一行的开始没有空格。#include<stdio.h>#include<string.h>#define N 80int fun(char *s){/*仅在这里编写程序*/}voi...
2019-03-09 18:08:29
3361
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 对C++面向对象的编程的理解
面向对象方法历经了30多年的研究和发展,已经日益成熟和完善,应用也越来越深入和广泛,现其已经发展为主流的软件开发方法。本节主要介绍面向对象方法的优点以及它的一些基本概念。2.3.1面向对象方法的优点(1)与人类习惯的思维方法一致。长期以来,人与计算机之间仍存在着较大的隔阂,人认识问题时的认识空间和计算机处理问题时的方法空间的不一致,而面向对象技术有助于减小这一隔阂、并使这两个空间尽量趋于一致...
2019-01-16 18:05:06
5571
原创 暑假Java Web 项目
本项目是根据B站视频做出来的。详情请参考链接:动力节点--2020最新JavaWeb视频教程基本功能有登陆界面:整体界面:项目链接链接:https://pan.baidu.com/s/1nUK8QsFW5tWNFvZIwbEPCw提取码:srhn如果内容对你有帮助,可以点一个赞吗?谢谢????...
2021-08-26 09:42:36
329
原创 数据结构之递归
递归:把一个直接调用自己或者通过一系列的调用语句间接地调用自己的函数,称为递归函数。递归思想易于掌握,但是想要用好递归以及什么时候使用递归有点难度。递归必须要有结束条件。斐波那契数以及阶乘都可以用递归实现。示例1:设a是有n个整数类型数据元素的数组,试编写求a中最大值的递归函数。实现代码:#include <stdio.h>#include <stdlib.h>#define N 10//函数声明int maxOfArray(int a
2021-07-19 18:22:32
279
原创 数据结构之链栈
栈介绍?首先,它是一个线性表,准确的说,应该是一个插入、删除受限制的线性表。它仅仅在表尾进行插入和删除操作的线性表,我们把这种受限制的线性表称为栈。如果栈的元素在使用时出现了元素变化不可预测的情况,有时很大,有时又很小,这种情况下,则建议使用链栈。栈作用?栈的引入简化了程序设计的问题,划分了不同关注层次,使得思考范围缩小,要更加聚焦于我们要解决的问题核心。既然是一种线性表,在理解之前,先将线性表的操作理解透彻。进栈:在栈的顶部进行入栈。 实现代码:...
2021-07-19 14:40:06
310
原创 数据结构之循环链表
循环链表的优点在于从当前任一个结点起,都可以遍历整个链表,即它的首尾是相连的。它的定义是:将单链表中的终端结点的指针端由空指针改为头结点,就使整个单链表形成一个环,这种头尾相接的单链表被称为循环链表。重点代码: ptail->next=phead;两个循环链表合并: ptemp=ptail01->next; ptail01=ptail02->next->next; ptail02->next=pte...
2021-07-19 10:19:18
456
原创 数据结构之双向链表(C语言版)
前言: 在理解双向链表前,应该掌先掌握单链表的基本操作。介绍: 双向链表区别于单链表而言,最主要的就是双向链表可以通过后面的结点找到前面的结点,也就是说可以实现正反遍历方式。 所以这样的链表在实现上,会比单链表会更复杂一点,但是其根本思想是一致的。你可以理解为有两个链表一个往????指,另一个往????指。 而我们使用链表最重要的原因就是它的插入和删除使相对于顺序表而言,时间上来看,是要快的。所以我们这里介绍插入和删除的关键代码:插入:执行的顺序为红...
2021-07-17 10:48:21
183
原创 Java+Eclipse安装教程最新版
首先,安装Java,需要到官网里面去下载java的jdk安装包 官网链接(或者是自己搜java) :https://www.oracle.com/java/technologies/javase-downloads.html 选择适合的版本,我这里下载的是:jdk-11.0.10_windows-x64_bin.exe; 下载完毕:点击 开始安装,默认安装路径:C:\ProgramFiles\Java\jdk-11.0.10\(安装的时候,界面左下角问问你...
2021-03-01 12:38:16
1015
4
原创 数据结构之单链表的基本操作
前言:必备知识首节点:第一个有效的节点尾节点:最后一个有效节点头结点:无有效数据,方便对链表进行操作,与首节点数据类型相同头指针指向头结点的指针变量,存放有头结点的指针变量。尾指针确定一个链表需要多少参数?只需要:头指针就行。图示:1.创建链表初期工作:#include<stdio.h>#include<stdlib.h>//elementdatatypedef struct node{ int data; struct ..
2021-02-01 17:59:15
330
原创 看得懂的海明校验码
例如传送过来的数据是:1010(k表示校验码的位数)(n表示例如1010表示n=4)第一步--->通过公式找到k值; --->2^k>=n+k+1; --->k=3;第二步 给1010每一个位标上位置; ---> 1 0 1 0 --->D4 D3 D2 D1第三步 找到校验码插入的位置; (已知k=3,有三位校验码) -...
2020-12-16 20:50:43
305
原创 计算机组成原理之运算器篇定点数乘法运算--------booth运算
booth运算:具体规则: 若最后一位与前一位是 00或者11,则部分积+0,右移一位; 若最后一位与前一位是 10,则部分积+【x】补,右移一位; 若最后一位与前一位是 01,则部分积+【-x】补,右移一位;部分积 乘法 说明------------------------------------------------...
2020-12-16 20:46:11
743
原创 计算机组成与原理运算器篇之浮点数的加减运算
浮点数的加减运算首先在对浮点数进行加减运算时,先问一下大家是否对浮点数的表示方法是否已经清楚了呢?浮点数表示方法: 这里我举个栗子,例13/128; 二进制表示方法:0.0001101000;那么如果用浮点数规格化怎么表示?且让我慢慢与你细说(●'◡'●)!浮点数规格化表示包含 1.阶符(就是阶码的正负,例如2^1,则阶码就是1,阶码为正数所以阶符为0); 2.阶码(1*2^2阶码就是2); 3.尾数(0.1011*2^1,其中小数点后面的1011就是尾数...
2020-12-15 21:09:48
2558
原创 计算机组成原理之运算器篇章之---比恢复余数法更好的加减交替法!详解+例子
加减交替法:又称为不恢复余数法,是恢复余数法的一种算法的提升!步骤示例:例题:已知x=-0.1011,y=0.1101,求[x/y]原?[y*]补=0.1101;[-y*]补=1.0011;例题:已知x=-0.1011,y=0.1101,求[x/y]原?[y*]补=0.1101;[-y*]补=1.0011;被除数 商 操作 0.1011
2020-12-15 19:51:39
2966
1
原创 计算机组成原理之运算器篇章---恢复余数法!详解+例子
基本思想:恢复余数法,当余数为负数(即最高为1时,为负数)时,需要加上除数,将其恢复成原来的余数,而商值的大小是通过比较被除数和除数的绝对值的大小确定的。步骤示例:例题:已知x=-0.1011,y=-0,1101,求[x/y]原?已知x=-0.1011,y=-0,1101,求[x/y]原? [-y*]=-0.1101,[-y*]补=1.0011,[y*]=0.1101被除数 商 ...
2020-12-14 22:02:00
10601
1
原创 C语言之共用体高低位转换:已知一个长度为2个字节的整数,现欲将其高字节与 低字节相互交换后输出,试用共用体类型实现这一功能。
题目:已知一个长度为2个字节的整数,现欲将其高字节与低字节相互交换后输出,试用共用体类型实现这一功能。实现代码:原理就不讲了,下来翻书好不好~( ̄▽ ̄)~*涅。/*还是大概讲一下,大概就是共用体内,内存是一起用的,详解百度娘*/代码详解:#include<stdio.h>int main(){ union date{short i;char c[2];};union date x;char tmp;x.i=0x1234;short a=0x
2020-12-05 18:51:42
2327
原创 编写一个fun函数,该函数地功能是:统计一行字符串中单词的个数,并作为函数值返回。字符串在主函数中输入,规定所有的单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格!
题目:/*统计一行字符串中单词的个数, 并作为函数值返回。 字符串在主函数中输入, 规定所有的单词由小写字母组成, 单词之间有若干个空格隔开, 一行的开始没有空格!*/实现思路:因为一个空格代表一个单词字符串结束,那么统计单词字符串的个数可以通过统计空格的个数,获取单词的个数。 然后按照空格统计的时候会发现,可能存在这种情况,因为空格虽然是一个单词结束标志,但空格可能...
2020-11-27 19:24:23
9021
2
原创 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2
2020-11-25 21:47:35
1056
原创 LeetCode 移动数组里面的零
题目:给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。题目来源:https://leetcode-cn.com/problems/move-zeroes/示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。思路分析:首先我们可以把“0",看作是,没有进行赋值的区域。 然后将所有非零的值,往前移动,剩下的空间就是没有就行赋值的区域。 此时...
2020-11-24 15:32:36
161
原创 一个数如果从左到右和从右到左读, 数字是相同的,则称这个数字为回文数, 比如898、1221、15651都是回文数。 求:既是回文数又是质数的5位十进制数有多少个? 要求:10000<x<99999
/*上菜了,上菜了,小哥哥,小姐姐点个赞赞捏~( ̄▽ ̄)~**/代码内容:/*一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:10000<x<99999 回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。*/ #include<stdio.h>#include<windows.h>int isprime(int
2020-11-22 18:08:04
4923
原创 写一个函数int digit( int n , int k ),它返回数n的从右向左的第k个十进数字值。例如,函数调用digit(1234,2)将返回值3。
/*觉得不错,点个赞赞涅*/不多哔哔上代码:#include<stdio.h>int isprime(int n){ int n_01=n; int i=0,a=0; while(n_01>0) { n_01=n_01/10; i++; } for(i=2;i<=n/2;i++) { if(n%i==0) { a++; } } if(a==0) { return 1; } else { return 0;
2020-11-22 18:02:37
5373
1
原创 链表增删改查
代码内容:运行环境dev-c++。保存格式.cpp(觉得有点用,不妨点个赞赞!)#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef struct Node{ int data;//数据域 struct Node *next;//指针域 }NODE,*PNODE;/*函数声明*/PNODE create_list(void);//创建链表 void traverse_list
2020-11-14 16:41:15
122
原创 写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。
题目:写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。代码内容:/*写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。*///觉得不错点个赞谢谢!#include<stdio.h>#include<string.h>#define N 20void reverse_01(char *s){ int i=0; while
2020-11-06 22:15:07
3277
1
原创 编程实现输入10个整数,并将其按降序排序并输出(可以使用选择排序算法或者冒泡排序算法)。
题目:编程实现输入10个整数,并将其按降序排序并输出(可以使用选择排序算法或者冒泡排序算法)。代码内容:/*编程实现输入10个整数,并将其按降序排序并输出(可以使用选择排序算法或者冒泡排序算法)。*/#include<stdio.h>#define N 10int main(){ int i,temp,j; int a[N]; for(i=0;i<N;i++) { scanf("%d",&a[i]); if(isdigit(a[i]))
2020-11-06 22:12:18
15639
3
原创 设数组a的定义如下: int a[20] = {2,4,6,8,10,12,14,16}; 已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数
题目:int a[20] = {2,4,6,8,10,12,14,16}; 已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请编写一个程序实现上述功能。提示:1)定义整型数组并初始化。2)从键盘输入一个数据。3)将该数据插入到数组中,由于要保证插入的数组仍然有序,所以需要查找插入的位置。4)输出插入数据以后的数组。代码内容://觉得不错个赞!谢谢额!/*从键盘输入一个长度为N(比如10)的.
2020-11-06 22:09:56
6564
3
原创 从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2 -5 -89 75 0 -89 0 9
题目:从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2 -5 -89 75 0 -89 0 93 48 0,经过处理后的数组为:-5 -89 -89 0 0 0 75 93 48 2。由于不要求数组有序,所以不允许用排序方法。提示:1)输入N个数据,构建数组。2)按照要求确定数据的位置,需要注意循环条件的确定、0数据元素往中间推的实现过程以及数组处理的方向。代码内容:
2020-11-06 22:06:33
3475
原创 4*4矩阵矩阵两条对角线的所有元素之和
求4*4矩阵两条矩阵对角线的所有元素之和?思路如图所示:分析对角线之间关系代码示例:(觉得不错,可以骗个赞不啊?)/*4*4矩阵两条矩阵对角线的所有元素之和*/#include<stdio.h>int main(){ //1 2 3 4 =5 //5 6 7 8 =13 //1 2 3 4 =5 //5 6 7 8 =13 /*输入元素*/ int i=0,j=0; int a[4][4]; printf("请输入4*4矩阵元素:\n"); for(i=.
2020-11-05 21:37:35
18806
原创 C语言之杨辉三角
如图所示: 11112113311464115101051161520156117213535217118285670562881193684126126843691 如图所示:分析行与列之间的关系:分析过程代码示例:/*杨辉三角形*/#include<...
2020-11-05 20:48:51
707
原创 C语言简单递归求阶乘代码示例
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言递归是一种很重要的算法,特别时对于初学算法人员来说!一、递归求阶乘递归本质也是一种循环!二、代码内容1.代码示例/*递归求...
2020-11-05 19:59:16
4342
原创 编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值)
只有(0~9)哦宝贝!/*菱形*/ #include<stdio.h>int main() { int lenth=8; int i,j,k; scanf("%d",&lenth); for(i=0;i<lenth;i++) { for(j=0;j<i+1;j++) { printf(" "); } for(k=2*lenth;k>2*i+1;k--) { printf("%d",lenth-i); } .
2020-10-28 22:06:50
4175
原创 C语言 321如何变成123
不多哔哔,代码献上!点个赞赞。。#include<stdio.h>int main(){ int number; int temp=0; scanf("%d",&number); int temp2=number; if(number>99999) { printf("error"); return 1; } while(number>0) { te...
2020-10-27 18:25:53
1725
原创 C语言-打印菱形三角形等图形
1.最简单的一种;图形版本#include<stdio.h>int main() { int i,j,k; int lenth=8; printf("please input number:"); scanf("%d",&lenth); printf("\n"); for(i=0;i<lenth;i++)//控制行数 { for(k=lenth-i;k>0;k--)//通过行的变化,影响列的变化; { printf("*.
2020-10-27 16:58:23
2693
原创 算法题之该给儿子存多少钱?
/*逆推-递归算法*/#include<stdio.h>int main(){ double rate; rate=0.0171/12; double sum; int i=0; double mouth=rate+1; sum=1000/mouth; i=48; printf("月份%d,money=1000\n",i); for(i=1;i<48;i++) { sum=sum/mouth+1000.00; printf("月份%d,money=%.2.
2020-10-24 21:43:04
136
原创 是人都能看得懂的------海明校验码以及循环冗余(计算机组成原理)
海明码的作用:不但能够检验出错,还能查出哪一位出错了。例如传送过来的数据是:1010(k表示校验码的位数)(n表示例如1010表示n=4)第一步--->通过公式找到k值; --->2^k>=n+k+1; --->k=3;第二步 给1010每一个位标上位置; ---> 1 0 1 0 --->D4 D3 D2 D1第三步 找到校验码插入的位置...
2020-10-23 16:12:03
236
原创 ACM 算法题
/*因为比较简单所以穷举*/#include<stdio.h>int main(){ int a[4]={0}; int i,j; char temp; for(i=0;i<4;i++) { printf("请输入数组内容"); scanf("%d",&a[i]); } if(a[0]!=a[1]) { if(a[0]!=a[2]) { temp='A'; } if(a[0]==a[2]) { temp='A'+...
2020-10-19 14:45:58
468
1
原创 计算机组成原理-恢复余数法
关于恢复余数法总结:若为负数:1.首先,则上商0;2.第二步,无需左移3.第三步,加上除数的绝对值的补码;4.第四步,变成正数后,无需上商,但需要左移,然后加上除数的绝对值的负数的补码;(若还是负数的话,则反复操作以上步骤);正数:1.首先,上商1;2,第二步,左移一位;3.第三步,加上除数的绝对值的负数的补码;...
2020-10-18 18:04:26
6703
3
原创 学生信息管理系统代码全篇
/*学生信息管理系统*/#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>#include<winbase.h>#include<time.h>#include<conio.h>#define Maxword 20/**/typedef struct node{ char name[20];//名字...
2020-10-11 20:59:37
8160
计算机组成与原理运算器之浮点数加减运算.txt
2020-12-15
计算机组成原理运算器之加减交替法.txt
2020-12-15
计算机组成之恢复余数法.txt
2020-12-14
海明校验码--计算机组成原理
2020-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人