- 博客(14)
- 资源 (7)
- 问答 (2)
- 收藏
- 关注
原创 N人围城一圈,依次进行1,2,3报数,报道3的人退出,继续循环报数。
需求:对N个人进行循环报数,不使用循环链表,使用数组实现。分析:我们可以首先创建一个含有N个元素的一维数组,元素值为从1-N,如果报到3则将该数组元素设定为0,表示人的退出,直到总人数只剩下一个,则停止执行。设计:1.可以将报数为3的退出,简化为报数的值对3取余为0的人退出。可使用一个变量记录当前报的数值,执行一次有效的报数循环对该变量进行加1操作即可。2.
2016-01-19 17:39:06 5597
原创 main函数传参数以及执行过程
需求:通过main函数传递参数,输入若干个字符串,并进行打印输出。分析:main函数包括两个参数,main函数的原型为:void main(int argc,char *argv[]);argc代表了参数的个数,argv代表了每个字符串的首地址。我们可以进行如下程序的编写: void main(int argc,char *argv[]){ whi
2016-01-19 16:52:04 1811
原创 文件打开方式的标识以及说明
打开方式: "r"(只读) 为输入打开一个文本文件 "w"(只写) 为输出打开一个文本文件 "a"(追加) 向文件文件尾添加数据 "rb"(只读) 为输入打开一个二进制文件 "wb"(只写) 为输出打开一个二进制文件 "r+"(读写) 为读写打开一个文本文件 "w+"(读写) 为读写建立一个新的文本文件 "a+"(读写
2016-01-28 16:30:07 1007
原创 C语言中的文件
C版本中使用的有两种对文件处理的方法:缓冲文件系统:指系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区,从内存想磁盘输入数据,必须先送到内存中,缓冲区装满后才一起送到磁盘。以下介绍均为缓冲区文件系统。非缓冲区文件系统:系统不自动开辟确定大小的缓冲区,由程序为每个文件设定缓冲区。UNIX系统下,用缓冲区文件系统处理文本文件,用非缓冲区文件系统处理二进制文件。
2016-01-26 10:54:17 512
原创 位段详解。
C语言想结构体中以位为单位来指定其成员所占内存的长度。如:struct data{unsigned a:2;unsigned b:4;unsigned c:16;int i;};如果各个位段之和没有沾满一个字节,则存储单元其余位置为空。对位段数据的引用方法:data.a=2;如果data.a=4;则报错。1.位段成员的类型必须为uns
2016-01-26 09:43:18 1507
原创 位运算:循环移位。
需求:要求将a向右n位,最右端的n位则移到最左边的n位。分析:移位操作,考虑使用位运算来实现。可以先保留低n位,对a进行右移操作,之后把高n位与低32-n位或运算即可。实现: void main(int argc,char *argv[]){ int a,b,n;scanf("%d %d",&a,&n);printf("a=%0x\n",a);b=a<<(32-n)
2016-01-26 09:28:02 1143
原创 链表的创建,输出,删除,插入操作。VS2012环境下可执行
需求:定义学生结构体,包含学号和得分两个属性。包含建立学生链表,输出链表,删除指定学号的学生,插入某个学生,这些操作。定义结构体:struct student{long num;float score;struct student *next;};定义函数:createstu,del,insertstu,printstu。具体实现:#in
2016-01-25 09:56:56 1136
原创 C语言函数指针的使用举例
需求:设计一个函数process,调用它的时候,每次实现不同的功能,分别求两个数的和,两个数的差,还有两个数较大值。分析:可以在process函数中,使用函数指针作为参数,传递不同函数的入口地址,得出不同的结果。函数指针的定义为:int (*p)(int,int)使用为:(*p)(a,b);源码例子:int add(int a,int b){ return
2016-01-19 14:40:45 1966
原创 最大公约数和最小公倍数
需求:输入两个正整数,求两个数的最大公约数和最小公倍数。分析:首先可以使用辗转相除法求出两个数的最大公约数,之后再把两个数相乘除以最大公约数即为最小公倍数。实现源码:int gcd(int a,int b){ int s; if(a<b) { s=a; a=b; b=s; } while((s=a%b)!=0) a=b,b=s
2016-01-18 20:31:14 468
原创 VS2012 scanf()运行通不过的时候,提示需要使用scanf_s()的解决办法。
在文件开头加入如下一行即可,使用原始版本的函数:#pragma warning(disable:4996)。另外,或者你直接按照现在版本的函数原型,需要添加一个参数,用来指定缓存区的大小。vs现在的版本的函数大多都要指定缓存区的大小,所以为了方便起见可以直接添加一句预编译的命令。
2016-01-18 19:53:45 2290
原创 hanoi(汉诺)塔问题递归过程
老和尚借助B柱子,把A上的盘子移动到C柱子上,盘子必须是大的在下面。void move(char a,char b){ printf("%c-->%c\t",a,b);}void hanoi(int n, char a,char b,char c){ if(n==1) { move(a,c); } else { hanoi(n-1,a,c,b); move(
2016-01-18 15:13:01 580
原创 杨辉三角 C语言
杨辉三角的定义:11 11 2 11 3 3 11 4 6 4 1……输出以上的数据。分析:除了对角线上的元素和第一列元素,其他的元素均为前一行的前一列和前一行的该列元素之和。实现:void yanghui(int n) //output n line{ int a[20][20]={1,
2016-01-15 16:34:43 1033
原创 魔方阵的实现 C语言
要求输出1~n²的自然数构成的魔方阵。STEP 1 什么是魔方阵? 魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n2的平方的n×n的方阵,其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。如:8 1 63 5 74 9 2 奇阶魔方阵的排列方法: ⑴将1放在第一行中间
2016-01-15 16:30:29 9666 1
转载 搜索引擎的小技巧:site,+,- 等指令的使用
1 把搜索范围限定在网页标题中——intitle网页标题通常是对网页内容提纲挈领式的归纳。把查询内容范围限定在网页标题中,有时能获得良好的效果。使用的方式,是把查询内容中,特别关键的部分,用“intitle:”领起来。例如,找林青霞的写真,就可以这样查询:写真 intitle:林青霞注意,intitle:和后面的关键词之间,不要有空格。2 把搜索范围限定在特
2016-01-13 16:14:53 14701
剑指offer-所有题目源代码下载
2016-11-24
ansible-playbook如何在重启目标机之后仍能够保持链接状态?
2018-08-16
C语言,文件操作问题,fwrite函数的使用
2016-01-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人