自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三种蛇形填数

一、S形蛇形填数这是蛇形填数中最简单的一种,我们只需要按照S形的方法填充数字即可。我们可以发现如果我们定义一个二维数组,那么二维数组的第0列、第2列、第4列,即偶数列,数字都是从上往下依次填充的;而第1列、第3列、第5列,即奇数列,数字都是从下到上依次填充的。#include<stdio.h>int main(){ int n = 0; int arr[100][100] = { 0 }; scanf("%d", &n);//输入需要填充的数组的大小,arr[n][n]

2021-01-30 20:49:35 180 1

原创 通过一道面试题带你了解内存分析和调试的重要性

曾经有一家公司有一道面试题目如下:在Linux x86_64 gcc环境下,下面的程序会出现什么问题?运行结果是什么?为什么?肯定很多面试者看到了就立马说:“数组越界了嘛。”确实如此,但是结果是什么呢?想必很多人都是不知道的,结果是死循环打印数字,让我们来分析分析。因为我用的是VS编译器,那么我这里就写一个和题目相仿的题来分析:#include <stdio.h>int main(){ long i; long arr[16]; for (i = 0; i <= 18

2021-01-28 15:22:29 952 3

原创 1000!有几位数,为什么?

1000!=1000 * 999 * 998 * … * 2 * 1,可以见得1000!是一个很大的数。那么如何计算1000!的位数呢?我们知道任何一个数都可以用科学计数法表示,比如1234=1.234 * 103我们如果对该等式两边同时取10的对数,那么等式就变为log10(1234)=log10(1.234 * 103)也就等价于log10(1234)=log10(1.234) +log10103最后变为log10(1234)=log10(1.234)+3我们发现1234的位数就等于

2021-01-26 16:20:01 1069 4

原创 扫雷游戏代码+代码分析

要用代码实现一个扫雷游戏也需要写两百多行代码,也是一个不小的工程量了,所以为了逻辑更加清晰明了,我们还是和写三子棋游戏一样创建3个文件来写代码。1个头文件(game.h),2个.c文件(game.c和test.c)。game.h文件中主要还是写一些预处理信息、一些需要用到的现有的函数的头文件和自定义函数的声明。#define _CRT_SECURE_NO_WARNINGS 1//地雷的总数#define COUNT 10#define ROW 9//扫雷的行数#define COL 9//扫

2021-01-25 18:00:03 1346 1

原创 三子棋游戏代码+代码分析

为了让逻辑看起来更加清晰,我们这次就创建3个文件来敲代码,1个头文件(game.h),2个.c文件(game.c和test.c)。game.h文件中主要写一些预处理信息、一些需要用到的现有的函数的头文件和自定义函数的声明。#define _CRT_SECURE_NO_WARNINGS 1#define ROW 3#define COL 3#include<stdio.h>#include<time.h>#include<stdlib.h>#include

2021-01-24 19:02:35 2075 5

原创 有 1000 瓶药物,但是其中有一瓶是有毒的,老鼠只要服用任意量有毒药水就会在一个星期内死掉!请问,在一个星期后找出有毒的药物,最少需要多少只小白鼠?

在程序员面试的时候面试官有时会考我们一些计算机编程方面的智力题,这便是一道有趣的智力题,这道题考察了我们对bit位的灵活运用。首先1000与1024相差无几,于是我们可以用10个bit位来对这1000瓶药物进行编号,也就是将第n瓶药物的编号转化为对应的二进制。然后我们拿10个空瓶编号为(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)。将二进制的第一位(最右边的为第一位)为1的瓶子每瓶取一滴药水装入编号为(1)的瓶子,将二进制的第二位为1的瓶子每瓶取一滴药水装入编号为(2)的瓶子,以此类推

2021-01-23 17:01:13 15700 76

原创 如何生成随机数+原理详细分析

说到如何生成一个随机数,可能当你百度后会看到这样一段代码。srand((unsigned int)time(NULL));int ret = rand();那么一个随机数到底是如何生成的呢?我相信善于探索的你一定想知道这其中的原理,那么话不多说,进入正题把!一个随机数到底是如何生成的:说到生成随机数我们都知道要用到一个rand函数,那么这个函数究竟是如何运用的呢,我们可以打开MSDN看看这个函数的用法这里的第一句说到rand函数会返回一个从0到RAND_MAX的整型,那么RAND_MAX的值

2021-01-20 15:44:24 1028 4

原创 用函数递归的方法解决汉诺塔问题

函数递归算法的运用有一个经典例题,那就是汉诺塔问题,接下来就让我们一起来看看如何用函数递归来解决汉诺塔问题叭!汉诺塔问题的起源:汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。面对庞大的数字(移动圆片的次数)18446744073709551615,

2021-01-17 20:41:52 1676 6

原创 C语言中的一系列操作符

C语言中有一系列的操作符,这些操作符你是否都认识呢?想要学好C语言首先你得有一种空杯心态,所以不管认不认识都和我们一起再看一遍吧!C语言中的操作符:C语言中主要包括算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式等。让我们一一来看看它们到底如何使用吧!算数操作符: +、-、* 、/、%算术操作符中的+、-、* 相信大家都会,但一些初学者就分不清楚/和%的区别(悄悄告诉你我几个月前也分不清)。其实a/b的结果就是a除以b的商,而a%b

2021-01-13 12:51:23 235

原创 启航

首先来一个简单的自我介绍:我是来自西华师范大学电子信息工程专业的一名学生,在大一的C语言课上便对C语言编程方面产生了浓厚的兴趣,我知道想在这方面有所造诣前方定会艰难重重,但我对自己抱有足够的信心,我相信自己能够做好。我的编程目标:学习好C/C++语言,在大三校招时能获取一份令自己满意的好offer。我打算这样学习编程:1.大一学习C/C++语言把基础打扎实;大二学习STL、Linux系统编程、Linux网络编程、算法、数据结构等;大三在对前面所学内容复习的基础上,再对其进行进一步深度学习。2.每

2021-01-10 22:59:59 1139 8

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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