
C语言
文章平均质量分 58
Rage_
西北工业大学明德学院
展开
-
n x n矩阵的转置矩阵,并计算对角线元素之和
问题描述:求给定的n x n矩阵的转置矩阵,并计算对角线元素之和。源代码:#include#define N 4int main(){ int a[N][N], (*p)[N]; int i,j,t,sum=0; printf("Input numbers:\n"); for(i = 0;i { printf("\n");原创 2016-04-06 23:44:05 · 2487 阅读 · 1 评论 -
算法——阶乘之和(数据溢出以及时间测试)
阶乘之和例题:输入n,计算S = 1!+2!+3!+...+n!的未6位(不含前导0)。n样例输入:10样例输出:37913分析:这个任务看似不难,实际却有陷阱。先看如下代码:代码1(有缺陷):#include#includeint main(){ unsigned long int n,S = 0; sca原创 2016-12-11 23:52:48 · 2470 阅读 · 0 评论 -
二叉树的基本操作
2017-4-18 9:22#includeusing namespace std;typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;BiTree Creat(){ BiTree T; char ch; scanf("%c",&ch);原创 2017-04-18 09:22:47 · 292 阅读 · 0 评论 -
Uva10474
Where is the Marble? DescriptionRaju and Meena love to play with Marbles. They have got a lot of marbles with numbers written on them. At the beginning, Raju would place the marbles one aft转载 2017-11-28 15:53:53 · 123 阅读 · 0 评论 -
木块问题Uva101
Uva 101 the block problem 木块问题题目大意:输入n,得到编号为0~n-1的木块,分别摆放在顺序排列编号为0~n-1的位置。现对这些木块进行操作,操作分为四种。1、move a onto b:把木块a、b上的木块放回各自的原位,再把a放到b上;2、move a over b:把a上的木块放回各自的原位,再把a发到含b的堆上;3、p转载 2017-11-28 18:00:40 · 709 阅读 · 0 评论 -
基础练习 字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式:输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式:输出n行,每个m原创 2017-11-15 23:05:55 · 1144 阅读 · 2 评论 -
Uva10815
Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for him, as the number of words that he knows is, well, not quite enough. Instead of thinking up all the wo原创 2017-12-03 23:14:49 · 596 阅读 · 0 评论 -
水题——蓝桥杯——算法训练 6-1 递归求二项式系数值
算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB 问题描述样例输入一个满足题目要求的输入范例。3 10样例输出与上面的样例输入对应的输出。数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。蓝桥杯水题,秒写代码。原创 2017-12-04 23:43:50 · 423 阅读 · 0 评论 -
Linux sbrk/brk函数使用整理
Linux sbrk/brk函数使用整理http://www.linuxidc.com/Linux/2012-02/54051.htmsbrk/brk: brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分转载 2017-12-05 17:48:57 · 466 阅读 · 0 评论 -
快速排序复习
https://blog.youkuaiyun.com/qq_36528114/article/details/78667034https://www.cnblogs.com/foreverking/articles/2234225.html具体的算法过程,网上十分多,这里不再多余说了,上面两个是我看的觉得不错的。一些直接上我写的代码:#include<iostream>using namesp...转载 2018-06-23 13:01:28 · 190 阅读 · 0 评论 -
Visual Assist 最有用的快捷键
VA最有用的几个快捷键:1、Alt + G: 在定义与声明之间互跳。2、Alt + O: 在.h与.cpp之间互跳。(O是字母O,不是数字零)3、Alt + Shift + Q:鼠标定位到函数名上,若是在h文件中,按此快捷键会弹出右键菜单,里面有个选项--创建定义;若是在cpp文件中,则按此快捷键会弹出右键菜单,里面有一个选项--创建声明。 这在定义好接口之后,再来写实现时,配合Alt+O是非常快...转载 2018-06-19 23:12:54 · 223 阅读 · 0 评论 -
c/C++栈和堆
一、预备知识―程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)―,...转载 2018-07-23 22:43:13 · 235 阅读 · 0 评论 -
c++ const和#define区别
C++ 语言可以用const 来定义常量,也可以用#define 来定义常量。但是前者比后者有更多的优点:(1) const 常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。(2) 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试。规则5-2-1:在C+...转载 2018-07-14 11:00:29 · 2281 阅读 · 0 评论 -
LeetCode 48 旋转图像
给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3...转载 2018-07-31 20:41:57 · 327 阅读 · 0 评论 -
经典面试题之new和malloc的区别
new和malloc的区别是C/C++一道经典的面试题,我也遇到过几次,回答的都不是很好,今天特意整理了一下。0. 属性new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。1. 参数使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。...转载 2018-08-01 15:12:10 · 295 阅读 · 0 评论 -
二分查找(Binary Search)复习
1、定义 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。2、基本思想 二分查找的基本思想是: 设R[low..high]是当前的查找区间 (1)首先确定该区间的中点位置: (2)然后将待查的K...转载 2018-08-22 00:22:55 · 488 阅读 · 0 评论 -
Fibonacci数列以及蓝桥杯Fibonacci数列%10007
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*原创 2017-02-19 22:04:46 · 2233 阅读 · 1 评论 -
顺序栈的基本操作
2017-3-21 上课写的#include#include#define FIST 100#define TWO 10typedef struct{ int *base; int *top; int stacksize;}SqStack;//函数定义.......................int InitStack(SqStack &S);int Stac原创 2017-03-21 09:02:25 · 221 阅读 · 0 评论 -
统计多个学生的多门课的成绩(结构体)
问题描述:设有10个学生,每个学生的数据的包括学号,姓名,三门课的成绩。要求从键盘输入10个学生的数据,统计并打印出三门课的平均成绩,以及最高分的学生的数据(包括学号,姓名,三门课的成绩,平均成绩)。算法分析:求每个学生的平均成绩是要执行1.0次,所以使用for循环完成。求分数最高的学生,就是求这10个数据中的最大者,先假设第1个事最大的,将其赋予记录最大数的变量max转载 2016-04-11 22:38:48 · 4690 阅读 · 0 评论 -
计算数值的整数次幂
问题描述:计算数值的整数次幂。分析:可以使用scanf()来一次读入2个值,如果成功的读入了2个值,scanf()就返回值2,这样您就可以通过把scanf()的返回值与2进行比较来控制循环。scanf()函数返回成功读入的项目的个数。如果没有读取任何项目,scanf()会返回值0。源代码:#includedouble power(double n,int p转载 2016-04-12 22:15:59 · 592 阅读 · 0 评论 -
编写两个函数,分别求两个整数的最大公约数和最小公倍数
问题描述:编写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。算法分析:两个整数的最小公倍数等于他们的乘积除以他们的最大公约数。随意关键是编写最大公约数函数。辗转相除法(求最大公约数):假设求a,b的最大公约数,则:(1)a除以b取余得c,若c=0,则b即为两数的最大公约数,输出,结束。(2)若c != 0,则将b赋给原创 2016-04-11 16:18:08 · 70286 阅读 · 9 评论 -
字母金字塔(类同数字金字塔)
问题描述:让程序要求用户输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案: A ABA ABCBA ABCDBA ABCDECBA算法分析:每行包括三个部分内容:若干个空格、正序排列的字母、倒序排列的字幕。使用一个外部循环来处理行,在每一个行中使用三个内部循环翻译 2016-04-15 17:40:19 · 2253 阅读 · 0 评论 -
十进制转二进制
这个问题随便百度就能查到,为了加强巩固,我在简述下。问题描述:编写一个函数将一个十进制整数转换成二进制形式。算法:奇数的二进制形式的最后一位一定是1,而偶数的二进制数的最后一位是0。所以,对于数值n,其二进制数的最后一位是n%2,因此计算出的第一个数字恰好是需要输出的最后一位数字。为了得出下一个数字,需要把原值除以2。如果此时得出的数值是偶数,则下一个二进制位的转载 2016-04-28 17:48:08 · 932 阅读 · 0 评论 -
求一个正整数不大于它的偶数
问题描述:编写一个程序,其功能是将正整数组中所有元素转换为不大于它的最大偶数,并且显示输出。算法分析:要将一个正整数转换为不大于它的最大偶数,只需将该正整数所对应的二进制数的最低位清零即可。例如:十进制 二进制2 103原创 2016-04-17 16:33:26 · 980 阅读 · 0 评论 -
进制转换(十进制与十六进制)
问题描述:将一个十六进制数转换为相应的十进制数输出。算法分析:首先,输入一个十六进制数时,这个字符串必须是0~9与a~f(或A~F)这些字符组成的,必须先进行识别判断是否合法。下面通过一个例子说明转换的方法。假设需将十六进制数12aF转换为十进制数n。 n = 1*16^3 + 2*16^2 + a*16^1 + F * 16^0 = (((1*16)*16+2)*1翻译 2016-04-20 17:18:04 · 1151 阅读 · 0 评论 -
strncpy函数自建和while(与指针等问题)
问题描述:strncpy(s1,s2,n)函数从s2复制n个字符给s1,并在必要时截断s2或为其填充额外的空字符。如果s2的长度等于或者大于n,目标字符串就没有标志结束的空字符。函数返回s1。自己编写这个函数,并在一个使用循环语句为这个函数提供输入的完整程序中进行测试。分析:strncpy函数是string.h中所包含的函数,此问题让你自己编写这个函数(c primer原创 2016-06-02 13:02:20 · 718 阅读 · 0 评论 -
列出输入字符串中的整数
问题描述:输入一个字符串,内有数字和非数字字符,如: a123x456 34x>302addfds46要求将其中连续的数字作为一个整数,依次存放到数组a中。并输出这些证书。源代码:#includeint a[10]; //定义全局数组int find(char *str){ //将字符串str中证书放在数组a中,并返回证书的个数 int转载 2016-05-22 16:20:19 · 597 阅读 · 0 评论 -
算法——猴子分桃问题
问题描述:海滩上有一堆桃子,五只猴子来分。第1只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个吃掉,拿走了一份。第二只猴子把剩下的桃子又平均分为五份,又多了一个,它同样把多的一个吃掉,拿走了一份,第3、第4、第5只猴子都是这样做的。问海滩上原来最少有多少个桃子。算法分析:假设海滩上原来有x个桃子,则第一只猴子分完拿走之后剩余((x-1)/5)*4桃子,第二只桃原创 2017-02-28 23:24:09 · 11229 阅读 · 3 评论 -
删除数组中相同的元素
问题描述:给n个int型的整数,存放到数组中,要求删除其中相同的元素。如:存放1 2 2 3 4,则删除后为1 3 4.存放 1 2 2 2 3 4 5,则删除后为1 2 3 4 5.算法分析:一共n个数据,从第一个起挨个与后面的数据进行比较,若发现相同的元素,则依次向前移动,然后表长减1,随后再次从刚才发现相同元素的位置开始,再次与后面的数据进行比较。重复以上操作原创 2017-03-03 00:58:01 · 1725 阅读 · 0 评论 -
printf()*的修饰符的使用
问题提出:如果有一个问题,输入n,要求输出一个小数,保留小数点后n位。(用C写),此时可以用printf() * 的修饰符来解决这个问题。以下代码表明这个工作原理:(来自C primer PULS)#includeint main(){ unsigned width,precision; int number = 256; double weight = 242原创 2017-02-24 19:08:06 · 1832 阅读 · 0 评论 -
迷宫求解(栈实现)
二维迷宫之中,找出出口,并且输出路径。数据结构中的迷宫求解问题。程序中,建立二维数组为迷宫,0为墙壁,1为可以通行的道路。PosType为坐标(结构体);算法的基本思想是:若当前位置“可通”,则纳入“当前路径”,并继续朝“下一位置”探索,即切换“下一位置”为“当前位置”,如此重复直到出口,若当前位置“不可通过”,则应顺着“来向”退回到“前一块道块”,然后朝着“来向”之外的其他方原创 2017-03-18 16:59:09 · 1307 阅读 · 0 评论 -
数据结构C——单链表
单链表的创建,删除,插入,个数的简单操作,上课写的。2017-3-7.#include#include#define OK 1#define ERROR 0typedef int ElemType;typedef int Status; typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*Li原创 2017-03-07 10:04:28 · 358 阅读 · 0 评论 -
表达式求值(顺序栈实现)
问题:算数运算的表达式求知这道题不难,但是当你认真去编代码的时候,还是要考虑好多细节。算法原理如下:我们都知道算术四则运算的运算规则是:先乘除,后加减。从左到右计算先算括号内,再算括号外表达式组成任何一个表达式都有操作数、运算符和界定符组成。操作数即可以是常量,也可以是被说明为变量或常量的标识符。运算符可以分为算术运算,关系运原创 2017-03-20 23:40:43 · 5497 阅读 · 2 评论 -
队列的基本操作
队列的基本操作:建立,入队,出队,遍历。2017-3-28-8-52#include #include typedef struct QNode { int data; struct QNode *next; }QNode,*QueuePtr; typedef struct { QueuePtr front;原创 2017-03-28 08:52:33 · 156 阅读 · 0 评论 -
C++中extern “C”含义深层探索
之前做很多项目,都用到了extern “C”,这里整理一下extern “C”的作用。本文转自:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容...转载 2018-10-03 21:13:16 · 174 阅读 · 0 评论