自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 上机第二次zsbd

【代码】上机第二次zsbd。

2023-04-03 10:09:42 99

原创 三维数组行列存储

csdn上面一些文章有的写错了,有的解释不对应该是a,b,c为层,行,列一般按行优先:就是假设三维数组为(m,n,p)计算(x,y,z)(0,0,0)地址为t则所求x,y,z为:t+(y*p*m+z*m+x)*单位元素字节数解释是先y行每行有p列(与二维思想相同)再每个位置是m层。再到该行还有z列每个是m层,再最后一个元素单独有x层。按列优先把上面y*改成z*这些同样思路改一下就行

2022-09-22 09:25:41 2413

原创 单链表交换两结点

题目描述:请填写缺失代码完成程序,实现如下功能:首先根据键盘随机输入,以0结束的若干非零整数建立单链表;然后根据输入的两个索引位置交换链表上的两个结点(链表首元素索引为1,#include <stdio.h>#include <malloc.h>struct cell {//单链表结点结构体定义 int x; struct cell* next;};struct cell* build(void) {//新建单链表,并将建好的单链表首结点地址

2021-12-26 21:43:08 2064

转载 题目名称:单链表倒数第K个结点

我修改了转载代码的中间的那个找倒数k个的函数;题目描述:请填写缺失代码完成程序,实现如下功能:首先根据键盘随机输入,以0结束的若干非零整数建立单链表;然后根据输入的整数K,输出链表倒数第K个结点输入:1 2 3 4 5 6 7 8 0 3输出:6输入:0 2 3 4 5 6 7 8 0 3输出:NULL#include <stdio.h>#include <malloc.h>struct cell {//单链表结点结构体定义 int x

2021-12-18 18:32:58 206

原创 DFS的基本架构

bool check(参数){ if(满足条件) return true ; return false;} void dfs(int step){ 判断边界 { 相应操作 } 尝试每一种可能 { 满足check条件 标记 继续下一步dfs(step+1) .

2021-12-17 21:04:06 1432

转载 关于八皇后问题的C语言解法

八皇后问题由高斯(C. F. Gauss)最早在1850年提出并研究,但并未完全解决。N皇后问题指在一个N×N的棋盘上放置N个皇后,使任意两个皇后都不能互相攻击。按国际象棋规则,两个皇后,若在同一行上,或在同一列上, 或在同一条斜线上, 则她们可以互相攻击。下图即满足八皇后条件的一种棋局。编写程序给出所有摆法和满足条件的棋局数目。代码思路:1.找出对角线(包括主,副对角线)之间的规律关系。2.了解 回溯法的使用(递归)如果你不会,那么看完博客你大概也就懂了。八皇后问题是使用回..

2021-12-12 11:02:15 4051 2

原创 关于if elseif

因为这个是只执行一次语句。所以说,需要判断是不是有不能对立的情况,即都成立下面代码#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>int a[1000];void zuida(int i,int n,int max) { if(a[i]>max) max=a[i]; if(i==n-1) printf("%d",max); else

2021-12-07 23:12:58 556

原创 一道简单递归题

题目编号:Exp06-Basic05,GJBook3-10-06题目名称:顺序检索题目描述:编写程序,用递归方法在整数组中进行顺序检索。输入:第一行输入一个正整数n(0<n≤100),表示数组的元素个数;第二行依次输入n个整数,作为数组的元素;第三行输入待检索的关键字。输出:如果数组中含有关键字,则输出其首次出现的位置(下标值较小的位置)否则输出NULL。样例1:输入:80234591083输出:2样例2:输入...

2021-12-07 17:18:00 146

原创 debug今天积累的一些技巧

1.保持对所做事情的崇高感。如果你是程序员,那么不管什么时候,哪怕你的leader站在你背后催着你,哪怕天塌下来了、地震了、落陨石、下流星了,你都要像平时一样,热爱编程,把编程当做一项神圣的、崇高的事情。仪式感可以带来崇高感。如果你觉得自己改bug时容易着急,不妨在动手之前,先去洗个手。把编程当成艺术,把黑客当画家。2.oj时出现错误,如果全错,整个数据就是错误的。那不用说了,但是也得看你的输出是什么再改。如果对一半,那就换个数据,随便找数据试试,你出不来结果肯定是有错误数据

2021-12-06 11:38:00 71

原创 关于memcpy和strcpy

二者都是复制函数但是有所区分1.二者需要的形参数目不同2.strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符memcpy对于需要复制的内容没有限制,因此用途更广(例如字符数组、整型、结构体、类等)3.strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。4.一般字符串用strcpy而其他内容复制用memcpy写法大概这样:memcpy(b, a, sizeof(a))..

2021-12-05 23:57:43 1341

原创 关于插入排序(逐步递增子序列)的比较次数和移动次数

问题就是让他在while不成立时也输出比较次数上代码,看注释就行#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>int main(){ int arr[10]; int i; for(i=0;i<10;i++) scanf("%d",&arr[i]); int lenght, temp, j,flag=1; int Compa

2021-12-05 17:33:43 872

原创 关于动态分配内存和动态数组定义的问题

今天做题,又遇到了诸如 a[m][n]提示编译错误的情况,dev是可以过去的。上网找了一些回答,问题在于定义数组的下标只能用常量。用变量是不规范的,某些编译器可以但其他不行。错误显示: int n; int a[n] = {1}; int n; int a[n]; for(;;){ a[n]=..................}解决办法:用malloc动态分配内存: 用n对a指针进行一个动态内存的分配。如下: ..

2021-12-03 16:53:43 925

原创 字符串指定删除的数组解法

题目编号 :Exp05-Basic04,GJBook3-07-11题目名称:字符串部分删除题目描述:编写程序实现:使用自编函数char * str_delete(char *s, int v, int w)从字符串s的第v个字符开始删除w个字符,并将处理后的字符串首地址以函数返回值带回调用点。输入:第一行输入两个整数分别对应 v和w(0≤v, w<MIN(256,strlen(s))),测试数据已保证v和w符合要求;第二行输入一个长度不超过256的字符串,字符串可能含有空..

2021-11-29 10:19:27 968

原创 关于快速排序qsort的使用方法

快排调用stdlib.h直接搞定,6666首先,qsort的格式是qsort(a,n,sizeof(a[0]),cmp);第一个是指的是数组名(要排序的),第二个是指总共要排序几个数,第三个是每一组数的长度(已经测试,sizeof(int)和sizeof(a[0])都可以,因为我这个定义的数组是整形数组。但如果你不想花时间去看到底什么类型,写a[0]的长度就行)最后一个是qsort函数唯一要写的函数部分,这个函数返回值类似

2021-11-27 09:13:50 329

原创 关于N倍数问题

超星学习通题题目名称:n倍数关系题目描述:给定若干不完全相同的正整数(<10000)和n(n<5),计算这些正整数里面有多少数对满足:其中一个是另一个的n倍。例如:1 4 3 2 9 7 18 22,n=3时得到的答案是2;因为3是1的3倍,9是3的3倍。输入:输入第一行给出正整数n的值,接下来包括多组测试数据。每组数据最多100个整数占用一行,以数字0结束(不计入100个整数里)。测试数据不超过20组,最后一行只包括-1,表示输入数据结束。输出:对每组输入数据,输出一行,

2021-11-25 09:41:36 1687

转载 关于程序设计的约瑟夫问题

题目描述:古代某法官要判决 n 个犯人死刑, 他有一条荒唐的逻辑, 将犯人首尾相接排成圆圈,所有计数从1开始; 然后从第 s 个人开始数, 每数到第 m 个犯人,则拉出来处决; 然后再数 m 个,数到的犯人再处决;… ; 但剩下的最后一个犯人可以赦免。编程序,给出处决顺序,并告知哪一个人活下来。输入:三个正整数 n(≤1000),s和m,都可以使用int类型变量表示。输出:依次输出被处决人员的编号,每个编号之间用一个西文空格间隔,最后一个编号后无字符。样例:输入:6 1 5输出:5 4 6 2

2021-11-25 09:36:26 276

原创 十进制到十六进制的C语言实现

要求共10位 前两位是0X后面八位是十六机制,没有的地方用零补齐。代码如下:#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>int main(){ int a,b; int s=7; scanf("%d",&a); char j[9]={"00000000"}; char i[17]={"012345678...

2021-11-20 16:24:26 398

原创 自守数的C语言实现

#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){ long n,m; scanf("%ld",&n); long a,k,i,j,b; for(a=1;a<=n;a++) { for(m=a,k=1;(m/=10)>0;k*=10); i=k*10;m=0;b=10; while(k...

2021-11-20 16:20:38 597

原创 C语言写pat 乙级1002 写出这个数

Pat 乙级 1002 写出这个数 (20 分)读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu代码如下:#include<stdio.h&gt

2021-11-05 00:04:32 386 1

原创 关于用C语言求解多边形周长

首先,我们要简化程序,必然需要一个函数,让他求坐标间的距离。然后,因为我们是每次输入两个数字代表这个顶点的坐标。所以,只定义double 型是不够的。因为我们需要全部储存,下面是我的错误1. for(i=1;i<=n;i++) { scanf("%lf %lf %lf %lf",&a1,&b1,&a2,&b2); s=len(a1,a2,b1,b2)+s;这样只能求几个点的距离并不能求出真正的周长。所以我们需要数组。...

2021-10-29 17:31:28 1317

空空如也

空空如也

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

TA关注的人

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