C语言
Eden_严
在校大学生一枚,云计算专业,业余神经网络 和ACM
展开
-
C语言printf中的自增自减运行
源程序int main(){ int i = 0; printf("%d,%d,%d\n",i++,--i,i++); return 0;}我们预期的结果应该是:0,0,0但实际结果为:0,1,0原理我也弄得不是很明白,我借鉴了几篇文章,理解到了计算的方法。大家都知道printf里面的计算是从右至左的,输出是从左至右。先运算这些i++,--i,i+...原创 2018-10-15 17:58:29 · 5269 阅读 · 8 评论 -
100层汉诺塔问题
输入层数,能快速得到移动的次数,层数在10层以下可以得到移动的步骤。#include<stdio.h>#define ll long long #define Cnum 10000000ll res[5]={0}; int tot=0,c=0;void get_res(int n){ int i; ll adw=0; res[tot]=1; //计算2^n ...原创 2018-10-19 17:12:05 · 3761 阅读 · 0 评论 -
C语言形式参数传递的两种方式
C语言中实际参数(实参)与形式参数(形参)之间的传递方式有传值和传地址两种函数调用方式。1.直接传值。直接传值,在fun函数里面改变a,b的值,不会改变主函数里面a,b的值。#include<stdio.h>void fun(int a, int b) // 此处a, b为形参{ a++; b++;}void mian(){ int a...原创 2018-10-22 20:06:15 · 7312 阅读 · 2 评论 -
数据结构课后习题答案(P195)_第二题。
要求以较高的效率实现删除线性表中元素值在x~y(x和y自定)之间的所有元素。#include<stdio.h> #include<stdlib.h>#define X 10#define Y 30#define N 20int A[N]={2,5,15,30,1,40,17,50,9,21,32,8,41,22,49,31,33,18,80,5};void...原创 2018-10-22 20:14:10 · 1036 阅读 · 0 评论 -
数据结构课后习题答案_基础题1
#include<stdio.h>#include<stdlib.h>struct LinearList{ int *list; int size; int MaxSize;};typedef struct LinearList LIST;void InitList(LIST *L,int ms){if((L->list=(int *)mall...原创 2018-10-23 22:28:49 · 1403 阅读 · 0 评论 -
辗转相除法(gcd)求最大公约数
辗转相除法, 又名欧几里德算法(Euclidean algorithm),缩写为GCD,是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。还有一个是LCM 求最小的公倍数,其实知道了最大公约数的求法后,这个很简...原创 2018-11-12 13:20:00 · 3614 阅读 · 0 评论 -
快速排序(Quicksort)———递归实现
快速排序是对冒泡排序的一种改进,是由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快排的主要步骤(升序排列):第一步:先确立一个基准,也就是说,第一趟排序下来,左边的元素都比基...原创 2018-11-12 17:44:13 · 3247 阅读 · 3 评论 -
问题 1097: 蛇行矩阵
问题 1097: 蛇行矩阵时间限制: 1Sec 内存限制: 64MB 提交: 1980 解决: 1165题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入本题有多组数据,每组数据由一个正整数N组成。(N不大于100)输出对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。样例...原创 2018-12-17 19:31:39 · 492 阅读 · 1 评论 -
01 背包问题
01背包问题洛谷P1060 开心的金明题目类型有N件物品和一个容量为V的背包。放入第件物品耗费的费用是C(即占用背包的空间容量为 C),得到的价值是W;。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即F’[i, o]表示前件物品恰放入一个容量为u的背包可以获得的最大价值。则其状态转移方程便是:...原创 2019-07-20 19:47:00 · 155 阅读 · 0 评论