自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 【C语言】排序算法(冒泡排序,选择排序,插入排序,归并排序,快速排序)

2022-04-07 12:36:52 1439

原创 [C语言]八皇后问题回溯算法

八皇后问题:在8×8格的国际象棋上摆放八个皇后,任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。将棋盘抽象为4 * 4到20 * 20大小的矩阵输入样例:请输入棋盘的大小(4 ~ 20):4输出样例:Solution: 10 1 0 00 0 0 11 0 0 00 0 1 0Solution: 20 0 1 01 0 0 00 0 0 10 1 0 0输入样例2:请输入棋盘的大小(4 ~ 20):8输出样例2(部分...

2022-04-06 23:09:31 1294

原创 【C语言】用二分法递归实现乱序链表查找最大值和最小值

给定一个含n个整数顺序存储的线性表,按分治法思路,采用二分策略,设计一个求出其最大值和最小值算法,编写相应测试程序。要求使用分治法设计出其中求最大值、最小值组合的递归算法。样例">输入样例:100 2 3 -2 -8 -6 -9 -10 50 2 -1输出样例:-10,100代码如下:#include <stdio.h>#include <stdlib.h>typedef struct node { struct node ..

2022-04-06 17:59:03 2222

原创 [C语言]利用链表采用分治法进行递归查找不大于10000个数中的最大值

给定一个含n个整数顺序存储的线性表,按分治法思路,采用二分策略,设计一个求出其最大值和最小值算法,编写相应测试程序。要求使用分治法设计出其中求最大值的递归算法。输入样例:100 2 3 -2 -8 -6 -9 -10 50 2 -1输出样例#include <stdio.h>#include <stdlib.h>typedef struct node { struct node *next,*prev; int data;}Node;..

2022-04-06 00:33:09 362

原创 [C语言]栈和队列的输入输出

编写程序选用顺序存储结构和链式存储结构实现抽象数据类型栈和队列,再利用栈和队列,输入若干个整数,将输入后的正整数和负整数分别保存起来,输入完成后,首先将以输入相反的次序输出所有保存的正整数,再以输入相同次序输出所有保存的负整数。栈:先进后出队列:先进先出输入样例:100 2 3 -2 -8 -6 -9 -10 50 2 -1输出样例: 2 50 3 2 100 -2 -8 -6 -9 -10 -1代码如下://..

2022-04-05 16:56:07 2640

原创 【C语言】运用栈解决四则运算

输入一串整数算式(包含加、减、乘、除四则运算和括号运算),以#结尾,计算并输出算式结果。输入样例:(10/2/5+1)*2#输出样例:4代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>//节点结构体typedef struct node { int data;//储存数据 struct node *next;//指向下一个节点}Node;..

2022-04-05 13:46:40 1196

原创 【C语言】连通块递归问题

编写程序,读入矩阵行数、列数及所有矩阵元素,矩阵中所有元素均为正整数,计算并打印出矩阵中的最大连通块数。注:如果两个元素值相同,并且上、下、左、右四个方向之一相邻,则称两个元素是连通的;连通关系是可传递的,一个元素的连通元素,也是与它连通元素的连通元素。最大连通块定义为所有连通元素组成的最大集,单个元素也可成为最大连通块。要求设计出求连通块数的递归或非递归算法。矩阵行数、列数不超出50。输入样例:7 6 4 4 4 4 4 44 1 3 2 1 .

2022-03-31 00:55:14 904

原创 【C语言】汉诺塔问题

汉诺(Hanoi)塔问题:假设有命名为A、B、C的三个塔柱,初始时,在塔柱A上插有n个直径大小各不相同的圆盘,从上往下,圆盘从小到大编号为1、2、3、···n,要求将A柱上的圆盘移至塔柱C,可借助塔柱B,用程序模拟搬盘子过程。本程序要求用非递归算法的程序实现 (n<=6)。 圆盘移动必须遵守下列规则: 1:每次只能移动一个圆盘; 2:圆盘可以插在任意一个塔柱上; 3:任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上。输入格式:正整数n。输出格式:搬盘子过程,每行一次搬动。输入.

2022-03-30 00:15:57 1145

原创 【C语言】无符号大数的加减问题

无符号大数加、减运算。。题目要求输入两个无符号大数,保证一个大数不小于第二个大数,输出它们的和、差。输入样例:1234567890987654321333888999666147655765659657669789687967867输出样例:1234567890987654321333888999666+147655765659657669789687967867=138222365664731199112357696753312345678909876543213338889.

2022-03-17 12:25:59 3249 1

原创 【C语言】循环链表解决约瑟夫环问题

约瑟夫环是个经典的问题。有M个人围坐成一圈,编号依次从1开始递增,现从编号为1的人开始报数,报到N的人出列,然后再从下一人开始重新报数,报到N的人出列;重复这一过程,直至所有人出列。求出列次序。本题要求用循环单链表实现。提示:开始时将循环单链表的指针变量设为空,设计实现尾部添加一人函数Append,添加第1人时,将结点的指针域指向自己,后面新添加人员时,在循环单链表指针变量所指尾部后添加新结点,并始终将循环单链表指针变量指向新添加结点,对应M个人的循环单链表中有M个结点;报数时,报到指定数后输出对应结点里.

2022-03-08 20:40:10 5129

原创 【C语言】单向链表排序、合并、逆序、分离(链表的头节点不储存数据)

编写程序,在第1题(第1题:编写程序,建立2个带头结点单链表,输入若干整数将正整数插入第1个单链表,将负整数插入第2个单链表,插入前和插入后单链表保持递增或相等次序,显示2个单链表,最后销毁。程序不可存在内存泄漏。)基础上合并2个单链表,合并前后单链表保持递增或相等次序,显示合并前后单链表。注意不可存在内存泄漏。...

2022-03-08 14:11:21 1444

原创 男女会籍注册(指针数组+链表+二级指针)

编写以下函数实现:(1)doregister(n, arr), 从控制台输入n个会员信息,按性别存储两个链表(名字升序排序),每个链表的头节点存入指针数组arr中;(2)unregister(arr, phone),输入一个电话号码,查找并注销会籍(从对应链表中删除节点);主函数调用上述函数,完成功能测试。样例:">输入样例:第一行输入会籍数量;然后每行输入会籍信息;最后一行输入要注销会籍的电话号码;5lili 13455667788 1 haos 13555667788

2021-12-30 01:30:27 740

原创 查找和打印子字符串

编写函数findsubstr(s, sub),在字符串s中查找字符串sub;若s中存在子字符串sub,则返回其在s的地址,否则返回NULL;输入样例1:hello, welcome to university.welcome输出样例1:welcome to university.输入样例2:hellohelloworld输出样例2:Not Found.代码如下:#include <stdlib.h>#include <stdio...

2021-12-30 01:27:43 540

原创 将字符串中连续的相同字符仅保留1个

编写函数,将字符串中连续的相同字符(包括空格)仅保留1个输入样例:a bb cccd d ef输出样例:a b cd d ef代码如下:#include <stdio.h>#include <stdlib.h>void delete_(char a[]){ char *p,*q; p = a; q = a + 1; int i = 0; while(*p != '\0') { i.

2021-12-30 01:22:04 2454

原创 IP地址和子网掩码(位运算)

(1)编写函数convert(), 将字符串表示的IP地址转为为32位无符号整数(2)编写函数checkip(), 检查ip地址配置是否正确(当ip地址和子网相与(&)的结果,和网关和子网掩码相与的结果相等时,认为配置正确;否则认为不正确;主函数调用上述函数,完成对输入ip地址/子网掩码/网关ip地址配置的检查。输入样例1:输入3个字符串,分别表示主机的ip地址、子网掩码和网关。192.168.0.1255.255.255.0192.168.0.254输出样例1:若

2021-12-20 00:42:36 1399

原创 IP地址(位预算)

编写函数convert(), 将字符串表示的IP地址转为为32位无符号整数。主函数调用convert()完成测试。输入样例:输入一个字符形式的ip地址:192.168.0.1输出样例:输入十六进制表示的ip地址C0A80001代码如下:#include <stdio.h>#include <string.h>#include <stdlib.h>unsigned int convert(char sip[]){ c.

2021-12-19 22:38:24 452

原创 男女生有序链表创建和合并(比较规则由函数指针给出)(函数指针)

(1)编写create(n)函数,从控制台输入n个学生信息,根据性别存储为男生、女生两个链表,每个链表中的节点按照给定规则(由函数指针给出)(年龄)升序排序的;(2)编写merge()函数,将两个链表合并形成一个新链表,仍保持有序排序。输入样例:每行输入一个学生信息:姓名、性别和年龄。其中姓名长度小于20个字符;性别=1表示男生,=2表示女生;8liming 1 28haoshu 2 27zhaomo 1 26zhanli 2 25maomin 1 24chenzi 2 23

2021-12-19 20:57:11 398

原创 男女生链表创建和合并

(1)编写create(n)函数,从控制台输入n个学生信息,根据性别存储为男生、女生两个链表,每个链表中的学生是按姓名升序排序的;(2)编写merge()函数,将两个链表合并形成一个新链表,仍保持按姓名升序排序。输入样例:第一行输入学生数量;第二行开始,每行输入学生信息:姓名、性别和年龄。姓名长度小于20个字符;性别=1表示男生,=2表示女生;8liming 1 28haoshu 2 27zhaomo 1 26zhanli 2 25maomin 1 24chenzi 2 23

2021-12-19 20:07:50 644 1

原创 书籍录入(链表有序插入)

图书店营业员要通过程序录入书籍信息, 包括录入书籍名称、价格;当输入的书籍名称是"##"时,表示结束录入。现要求使用链表编程,编写函数insert(),将营业员输入的所有书籍插入到链表中,要求插入链表时按书名字典序升序排序;输入样例:cprogramming 29c++programm 89visualbasic 28software 32testing 827## 78输出样例:c++programm 89.00cprogramming 29.00software 3

2021-12-17 09:38:55 478

原创 链表逆序(拷贝和插入)

主函数定义一个链表,储存控制台输入的n个整数;然后编写函数:1.create函数,储存信息2.reverse(head),将链表逆序,即原链表的头节点成为新链表的尾节点;原链表的尾节点成为新链表的头节点;3.print函数,打印信息输入样例:51 2 3 4 5输出样例:1 2 3 4 5 5 4 3 2 1 代码如下:方法一:创建一个新链表,先将旧链表的 head 作为新链表的 phead ,再将旧链表的 head 后移,依次将后一个 head 作为新链表的.

2021-12-14 16:18:32 1117

原创 链表插入节点(C)

编写下列函数:(1)create(n):创建并返回链表,链表包含n个节点,每个节点存储一个整数;n个整数由控制台按升序输入。函数返回创建的链表(2)find(head,num):从链表中查找整数v,若存在,则删除num节点并返回链表;若num不存在,则将num插入到链表中,仍保持链表中节点的整数值按升序排序。(3)print(head)输入样例1:(1)第1行输入n(2)第2行按升序输入n个整数,空格隔开(3)第3行输入要查找(或插入)的整数101 3 5 7 9 11

2021-12-13 22:46:25 1523

原创 学生链表创建、遍历和删除(C)

定义恰当的结构体,并编程实现下列函数,main()函数将调用这些函数,实现学生链表的创建、打印和删除节点的功能;(1)create(n),从控制台输入n个学生的信息,建立链表存储这些信息,返回链表的头节点指针;学生信息包括:学号(字符串,少于20分字符)、姓名(字符串,少于10个字符)、性别(0表示女生、1表示男生)、年龄。(2)pdelete(head,age),从head指向的链表搜索学生信息,当学生的年龄等于age时,将该节点删除;返回链表的头节点指针;(3)print(head),输出删

2021-12-13 20:03:33 1486

原创 判断是否为闰年并输出二月份的天数(js里函数的调用)

<script> function backDay() { var year = prompt('请输入年份'); if (isRunYear(year)) alert('今年为闰年二月份为29天'); else alert('今年为平年二月份为28天'); } function isRunYear(year) { if (year % 4 == 0 &a.

2021-12-06 19:43:10 916

原创 个人简历(html+css)

一、HTML<!DOCTYPE html><html lang="zh-CH"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &lt

2021-12-04 14:39:15 1466

原创 数据转换(案例分析)

一、转换为字符串 1. 变量.String(); var num = 1; alert(num.toString(num)); 2.String() 强制转换 var num = 1; alert(String(num)); 3.加号拼接字符串 隐式转换 var num = 1; alert(num + '我是字...

2021-12-04 14:22:19 529

原创 C语言笔记----动态内存问题的应用,解决返回值为临时变量地址

给出一道错误案例:#include <stdio.h>#include <stdlib.h>#include <string.h>char *fun1(char *s1, char *s2){ char rs[100] = {0}; int l1 = strlen(s1); strcpy(rs, s1); strcpy(rs + l1, s2); return rs;}//*fun1int main(){

2021-12-03 16:21:12 661

原创 时间结构体和时间差计算

编写程序,计算两个时刻之间的时差,要求如下:1.定义时间结构体,分别用整数存储小时、分和秒;2.定义函数sub(), 计算并返回两个时间结构体之间的时间差(假定两个时刻的差小于24小时);输入样例:16:30:3017:20:20输出样例:00:49:50代码如下:#include<stdio.h>#include<math.h>struct clock//定义时间结构体,成员为时、分、秒{ int hour,minute,.

2021-12-03 15:51:51 2290

原创 学生信息结构体数组拷贝和排序(结构体,结构体数组,结构体指针)

主函数使用下面结构体定义和函数,从控制台输入n(n<=40)各学生信息,按平均成绩降序后输出所有女生信息。1.定义一个学生结构体,信息包括学号(字符串,长度小于20)、姓名(字符串,长度小于20)、性别(整数,0表示女生,1表示男生)、年龄(整数)、五门课成绩(浮点数)、平均成绩(浮点数);2.编写函数create(), 通过控制台输入学生信息;3.编写函数copy(),将所有女生信息复制到另一个结构数组中,并按平均成绩的降序排序;输入样例:52021001 zhangsan

2021-12-03 15:05:16 1717

原创 查找学生名字字符串最大最小值(指针数组、二级指针)

编写一个函数find(),在传入的字符串指针数组中,查找长度最大的字符串和长度最小的字符串,分别通过函数返回值和二级指针带回到主函数中输出;输出样例:ChenMMLi代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 6char *find(char *stus[N], int n, char **p)//定义二级指针{ int i, j.

2021-11-30 22:12:11 348

原创 学生名字排序(指针数组+函数指针)(实参为指针数组和二维数组时,排序的区别)

班级有学生:char *stus[]={“Yang”,”Li”,”Zhao”,……};要求实现如下3子函数,对学生按名字按照调用者给出的排序规则进行 升序 排序:(1)函数 stu_sort(..),对字符串指针数组,按照传入的比较规则进行排序;(2)函数stucmp1(s1,s2),按照ASCII码比较字符串s1和s2,返回-1表示s1小于s2,0表示相等,1表示s1大于s2;(类似于strcmp()函数)(3)函数stucmp2(s1, s2),按照字符串长度比较s1和s2,返回-1表示s1

2021-11-30 20:37:34 1469

原创 字符串排序2 (对二维数组进行排序,储存在指针数组里)

1.主函数中定义一个二维字符数组s[5][MX], 然后输入n(n<=5)个字符串, 字符串最大长度为MX(MX=32);2.编写函数sort1(), 对输入的字符串按字母序升序排序,返回排序结果;3.编写函数sort2(), 对输入的字符串按字母序降序排序,返回排序结果;4.主函数中调用sort1()和sort2(), 完成功能验证.输入样例:5I want to learning english.C programming is fun.Nice to meet you

2021-11-30 18:56:12 1065

原创 字符串排序1(指针数组,元素指针,行指针)(strcmp)

1.编写函数sortstr1(), 按字母序对字符串数组进行升序排序;2.编写函数sortstr2(),按字母序对字符串数组进行升序排序;3.main()函数中调用sortstr1()和sortstr2(),分别完成对各星期字符串、月份字符串的排序;输出样例:在这里给出相应的输出。例如:Friday Monday Saturday Sunday Thursday Tuesday Wednesday April August December February January July

2021-11-30 16:23:22 757

原创 字符串拼接(指针)(一、不使用动态内存,返回NULL)(二、使用动态内存完成越界拼接)(strcpy、strcat、malloc)

main()输入2个字符串,将该这两字符串拼接到一起;1.要求定义和编写字符串拼接函数mystrcat(),该函数完成字符串拼接并返回拼接后字符串地址(要求不使用动态内存)2.若空间不够,返回NULL,并输出Not enough space输入样例1:welcome to CSDN!输出样例1:welcome to CSDN!输入样例2:welcome to aaaaaaaaaaaaaaaaaaaaaa!输出样例2:Not enough space..

2021-11-28 23:15:16 771

原创 判断某年某月某日是一年中的第几天,并判断是星期几(指针)

按要求输入一个日期,计算是这年的第几天和星期几,然后在main()调用子函数中输出结果。给出已知信息:1.闰年的判断公式:年份能被4整除不能被100整除,或是能被400整除;2.某年y的元旦是星期几的判断公式:(y+(y-1)/4-(y-1)/100+(y-1)/400)%7 (0表示星期天)3.isleap(): 返回一个年份是否是闰年;4.week(): 计算该日期是这年的第几天, 并计算是星期几, 返回这两个计算结果;#include<stdio.h>cons

2021-11-28 16:17:51 928

原创 二维数组查找每行最大值 (指针)

编写函数findmax(),将mxn二维数组中每行最大值,按一一对应的顺序放入一维数组中。如int a[5][5],s[5],即将a[0]行的最大值存放于s[0],以此类推。输入样例:每行输入5个数,按回车输入:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25输出样例:输出每行的最大值,空格隔开(最后一个数字后也有空格)5 10 15 20 25 代码如下:#include<st..

2021-11-23 15:45:22 6259

原创 矩阵转置-指针与行指针

编写以下三个子函数,完成矩阵转置:(1) inputline(...),按行输入NX(NX=5)个整数,形成一行;(2) reverse(...),对矩阵进行转置。(3) outputline(...),输出一行的数据;输入样例:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25在这里给出相应的输出。例如:1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9

2021-11-23 11:58:54 640

原创 用行指针进行二维数组的求和

要求编写函数fun实现二维数组每个元素相加,并把计算所得存放到每行的最后一个单元在这里给出一组输入。例如:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 20在这里给出相应的输出。例如:15 40 65 90 代码如下:#include <stdio.h>#include <stdlib.h>#define N 4#define M 5void fun(int (*p)[M + 1], int .

2021-11-23 11:22:09 3899

原创 数组排序和查找(指针)

输入10个整数,编写函数sort, 按绝对值从小到大排序, 并返回绝对值最大整数在原数组中的下标。按要求编写sort()。#include<stdio.h>#include<math.h>void sort(int a[], int n, int *p2){ int i = 0,j = 0; *p2 = 0; int *p = a; //找出元素中绝对值最大的下标 for (i = 0; i < 10 - 1; i++)

2021-11-23 01:34:22 836

原创 元音字母计数_2

统计英文句子的元音字母数量(要求使用二维数组编程)输入n(n<=10)个英文句子(每个句子一行),找出每个句子中元音字母(a, e, i, o, u及其大写)在其中出现的次数, 要求使用二维数组编程。输入格式:第一行输入行数(按回车),然后依次在每行输入英文句子(按回车)。输出格式:逐行输出每个句子中元音字母的计数(按a,e,i,o,u的顺序)。输入样例:在这里给出一组输入。例如:3today is satorday.Oh my godOctober is the te.

2021-11-15 08:44:51 545

原创 从字符串中删除字符

在主函数中输入一个字符串,再输入一个字符,编写函数delete(),将字符串中该字符删除;然后在主函数中使用puts()函数输出新的字符串;输入格式:第一行输入字符串(按回车),第二行输入要删除的字符。输出格式:删除特定字符后的字符串。输入样例:在这里给出一组输入。例如:i am learning "C Programming".m结尾无空行输出样例:在这里给出相应的输出。例如:i a learning "C Prograing".#include<stdi.

2021-11-08 23:13:10 3729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除