C Language
哎一入江湖岁月催
宜静默,宜从容,宜谨严,宜俭约。
展开
-
OJ 2018/3/21
/*另一种阶乘问题 65 */#include<stdio.h>int main(){ int a; scanf("%d",&a); while(a--) { int sum=0; int n; scanf("%d",&n); while(n) {...原创 2018-03-21 09:47:24 · 173 阅读 · 0 评论 -
c++类中的static详解(续)
未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!类中static的详解:静态数据成员:声明:不能在类声明中定义,类内定义。内存分配:只分配一次内存,定义时分配空间,位于全局数据区。共享性:类内所有对象共享,不属于特定对象,即使没有类的实例化,也可以使用它。初始化格式:<数据类型><类名>::<静态数据成员名>=<值>Eg: int原创 2016-08-19 12:54:57 · 421 阅读 · 0 评论 -
c/c++预处理过程详解(一)之文件包含、宏定义
未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!其实本文原本是打算研究一下#define的,后来发现预处理是个不可避免的问题。在讲#define 前需要讲讲 # # 涉及到宏的概念,宏是编译器预处理的一个重要步骤 先讲讲预处理吧,因为预处理是c/c++的一个重要知识点在C语言的程序中可包括各种以符号#开头的编译指令,这些指令称为预处理命令。预处理命令原创 2016-08-20 15:23:13 · 1409 阅读 · 0 评论 -
c/c++预处理过程详解(二)之条件编译及预定义的宏
未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!首先对于上篇文章中宏定义的补充:(1)#define NAME"zhangyuncong"程序中有"NAME"则,它会不会被替换呢?(2)#define 0x abcd可以吗?也就是说,可不可以用不是标识符的字母替换成别的东西?(3)#define NAME "zhang这个可以吗?(4)#define原创 2016-08-20 15:36:49 · 1588 阅读 · 0 评论 -
高质量C++/C编程指南(重要)
第 1 章 文件结构1 版权和版本的声明2 头文件的结构3 定义文件的结构4 头文件的作用5 目录结构第 2 章 程序的版式1 空行2 代码行3 代码行内的空格4 对齐5 长行拆分第3章 命名规则1 共性规则2 简单的Windows应用程序命名规则第4章 C指针入门第5章 常量1 为什么需要常量2 const 与 define的比转载 2016-08-20 19:03:35 · 1343 阅读 · 0 评论 -
大数运算之阶乘
Int不能存储较大数int 代表有符号整数,也就是说,用 int 声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定 int 的最小取值范围是 -32767 到 32767。int 的取值范围因机器而异,但是一定要大于或者等于 -32767 到 32767。一般来说,int 占用一个字的内存空间。因此,字长为 16 位(Bit)的旧式 IBM 兼容机使用 16 位来储存原创 2016-10-08 22:03:42 · 800 阅读 · 0 评论 -
冒泡排序再学习改进冒泡排序(c++)
未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!经典的排序冒泡排序:编译器:dev-c++ 5.11c++版冒泡排序:#include using namespace std;int main(){ int a[10]={7,3,4,5,654,77,3,5,199,688}; for(int i=0;i<10;i++) for(int j=0原创 2016-08-21 18:04:44 · 887 阅读 · 0 评论 -
p,v原语解决和尚挑水问题
和尚挑水问题:寺庙里有多个小、老和尚,一水缸。小和尚打水,老和尚饮水。水缸容积10桶水,水取自同一水井,水井和水缸每次都只容放入一个桶,桶总数3个。试用P、V操作描述和尚取水、饮水的互斥与同步过程。#include#includetypedef int seamphore;seamphore jar=1;//水缸seamphore well=1;//水井seamphore b原创 2016-07-14 11:01:47 · 4521 阅读 · 0 评论 -
2016.3.7 16.14复习篇之三(蓝桥杯恶补)
题目1:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。#includeint main(){ int i,j,k,sum;for(i=1;i<1000;i++) { sum=0; for(j=1;原创 2016-03-07 16:10:11 · 462 阅读 · 0 评论 -
复习篇2016.3.4 16.42复习篇之一(蓝桥杯恶补)
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#includeint main(){ int num,i,j,k; num=0; for(i=1;i<5;i++) for(j=1;j<5;j++) for(k=1;k<5;k++) if(i!=j&&i!=k&&j!=k)原创 2016-03-04 16:34:24 · 581 阅读 · 0 评论 -
2016.3.5 14.6复习篇之二(蓝桥杯快速恶补)
1题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。#includeint main(){ int a,b,c,d; for(a=100;a<=999;a++) { b=a原创 2016-03-06 09:33:06 · 1644 阅读 · 0 评论 -
c++中的static详解
未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!首先,讲一下c++ 中的static: static有面向过程的有面向对象的,关于面向对象与面向过程区别请参考另一篇博文,也可自行百度。 先讲讲程序在内存中的存储结构: 我把所有知识点大致缩减到下面这张图上了,希望大家能够一目了然 Static在面向对象中主要应用于 ①变量 ②函数 我也是画原创 2016-08-19 09:44:54 · 630 阅读 · 0 评论 -
c/c++ new与malloc的区别及使用时注意的问题
malloc定义上:malloc memory allocation 动态内存分配 是c中的一个函数extern void *malloc(unsigned int num_bytes)使用方法: num_bytes内存块字节长度内存块大小确定:malloc是通过我们计算然后得到一块新内存,然后指定数据类型并且内存值也是随机的使原创 2016-08-15 20:19:10 · 17426 阅读 · 0 评论 -
强大的位运算
强大的位运算C语言具有高级语言的特点,又具有低级语言的特点.因此它能实现某些高级语言不能实现的功能位运算是指进行二进制位的运算 运算符 含义 & 按位与 ¦ 按位或原创 2016-11-22 20:27:23 · 1580 阅读 · 0 评论 -
OJ 2018/3/23
#include<stdio.h>#include<math.h>int main() { int m,x; scanf("%d",&m); while(m--) { int count=0; scanf("%d",&x); int t = x; while(t>...原创 2018-03-23 21:53:14 · 205 阅读 · 0 评论 -
OJ 2018/3/19
/*谁获得了最高奖学金 60*/#include<stdio.h>#include<string.h>int main(){ char a[20];// 姓名 float b; //期末 float c; //评价 char d;// 干部 char e;// 西部 int p;//论文 int n;...原创 2018-03-19 22:13:42 · 180 阅读 · 0 评论 -
排序(更新中)
#include<stdio.h>#include<stdlib.h>#include<time.h>#define num 10int low = 0, high = num - 1; //高低标int a[num];//声明数组int i = 0, j, temp;int pivotops;//基准int qsortParition...原创 2018-03-06 09:12:36 · 192 阅读 · 0 评论 -
OJ 2018/3/18
/*阶乘因式分解(一)56*/#include<stdio.h>int main(){ int m,n; int tn; scanf("%d",&tn); while(tn--) { scanf("%d %d",&m,&n); int sum=0; int temp=0; while...原创 2018-03-18 21:53:41 · 203 阅读 · 0 评论 -
OJ 2018/3/12
/*A1025. 字符串对比*/#include<stdio.h>#include<string.h>int main(){ char a[11],b[11]; gets(a); gets(b); int alen=strlen(a); int blen=strlen(b); if(alen<1||...原创 2018-03-12 19:20:28 · 192 阅读 · 0 评论 -
OJ 2018/3/11
/*计算价格*/#include<stdio.h>int main(){ int i,a=3,b=2,c=8; int t[3]; for(i=0;i<3;i++) scanf("%d",&t[i]); printf("%d\n",a*t[0]+b*t[1]+c*t[2]); return 0;}/*A1018. 查找整数*/原创 2018-03-11 21:42:33 · 234 阅读 · 0 评论 -
OJ 2018/3/16
奇偶数分离/*03*/#include<stdio.h>int main(){ int i,j,k,n; scanf("%d",&n); int a[31]; for(i=0;i<n;i++) scanf("%d",&a[i]); for(k=0;k<n;k++) { ...原创 2018-03-16 22:03:09 · 193 阅读 · 0 评论 -
OJ 2018/3/9
/*A1012. 进制转换3long long 使用 _int64 FFFFFFFF 8个F 是最大边界0是 最小边界这里有个特别注意 VC++6.0 可以定义 _int64 替代 long long 但是 OJ 只认 long long*/#include<stdio.h>#include<string.h>#include<math.h...原创 2018-03-09 21:33:55 · 225 阅读 · 0 评论 -
OJ 2018/3/15
/*03*/#include<stdio.h>int main(){ int i,j,k,n; scanf("%d",&n); int a[31]; for(i=0;i<n;i++) scanf("%d",&a[i]); for(k=0;k<n;k++) { ...原创 2018-03-15 22:10:49 · 174 阅读 · 0 评论 -
OJ 2018/3/7
明明的随机数: #include<stdio.h>int main(){ int i, j, num; int temp; scanf("%d", &num); int a[100]; for(i = 0; i < num; i++) scanf("%d", &a[i]); for(i ...原创 2018-03-07 21:44:58 · 219 阅读 · 0 评论 -
OJ 2018/3/8
//A+B#include<stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); printf("%d",a+b); return 0;}/*01序列*//*itoa();该函数的头文件是"stdlib.h"把一整数转化为字符串itoa char *ito...原创 2018-03-08 21:51:48 · 356 阅读 · 0 评论 -
学生成绩管理-C语言版之排序(各种排序)
//排序:/* 1、录入学生基本信息 2、直接插入排序 3、冒泡排序 4、快速排序 5、简单选择排序 6、堆排序 7、2-路归并排序 8、输出学生信息*/#include<stdio.h>#include<stdlib.h>typedef struct{ char name[20]; int num; int score; int...原创 2015-12-24 12:37:14 · 9710 阅读 · 1 评论 -
数据结构C语言版之查找(折半选择快速等)
//查找:#include#include#includetypedef struct{ int *elem; int length;}SStable;typedef struct SYlist{ int num; int *Key; int *start;}SYlist;void CreatSearchlist(SStable &S){ int i; print原创 2015-12-24 12:35:31 · 1143 阅读 · 0 评论 -
C语言数据结构之二叉树的操作
输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F##,建立二叉树的二叉链表。已知二叉树的先序遍历序列和中序遍历序列,或者已知二叉树的中序遍历序列和后序遍历序列,建立二叉树的二叉链表。将一棵二叉树的所有结点存储在一维数组中,虚结点用#表示,利用二叉树的性质5,建立二叉树的二叉链表。例如用数组a存储的二叉树的结点如下(0单元不用写出对用二叉链表存储的二叉树进行先序、中序和后原创 2015-11-02 13:02:52 · 1492 阅读 · 0 评论 -
C语言数据结构之线性表的基本操作
线性表的基本操作内容:(1)顺序表的操作输入一组整型元素序列,建立线性表的顺序存储结构。实现该线性表的遍历。在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。在该顺序表中删除或插入指定元素。 建立两个按值递增有序的顺序表,将他们合并成一个按值递增有序的顺序表。(2)单链表的操作输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 实现该线性表的遍历。在该原创 2015-11-02 12:46:03 · 16991 阅读 · 2 评论 -
C语言数据结构之图的遍历
输入一组顶点,建立无向图的邻接矩阵。输入一组顶点,建立有向图的邻接表。分别对无向图和有向图进行DFS(深度优先遍历)和BFS(广度优先遍历)。写出深度优先遍历的递归和非递归算法。根据建立的有向图,判断该图是否是有向无环图,若是,则输出其一种拓扑有序序列。#include #include #define MAX 20typedef struct ArcNode{ int adjvex原创 2015-11-02 13:05:39 · 9539 阅读 · 4 评论 -
C语言数据结构之栈与队列的应用(2)
输入一个表达式,表达式中包括三种括号“()”、“[]”和“{}”,判断该表达式的括号是否匹配。#include#include#define MAX 20#define STACKINCREMENT 10typedef struct{ char *base; char *top; int stacksize;}SqStack;void InitStack(SqStack &s原创 2015-11-02 12:54:11 · 785 阅读 · 0 评论 -
蓝桥杯练手之高斯日记
大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定原创 2015-11-13 13:20:20 · 652 阅读 · 0 评论 -
C语言数据结构之单链表的拆分
//单链表的拆分# include # includetypedef struct LNode { char data; //每个结点中存储的数据为字符型 struct LNode *next; //指向后继结点 }LinkList; void Create(LinkList *&L) { LinkList *s,*r; L=(L原创 2015-09-23 22:41:20 · 4304 阅读 · 0 评论 -
C语言数据结构之一元多项式的求导
//一元多项式的求导#include#include//动态申请空间的函数的头文件typedef struct node //定义节点类型{ float coef; //多项式的系数 int expn; //多项式的指数 struct node * next; //结点指针域}PLOYList;void insert(PLOYL原创 2015-09-23 22:39:44 · 11450 阅读 · 1 评论 -
蓝桥杯练手之 大小之差
某6位数,只包含1~9中的某些数字(可以重复包含同一数字,但不含数字0)。 该数字重新排列数位后,可以得到最大数和最小数。最大最小之差也是6位数,并且它恰好包含了组成原6位数同样的数字。 比如:766431 - 134667 = 631764 就是具有这样特征的数字。 你还能找到另一个这样的6位数吗?请填写它重新排列数位后得到的最大数:______________原创 2015-11-08 13:24:54 · 848 阅读 · 2 评论 -
蓝桥杯练手之堆煤球
小明的爷爷很怀旧,冬天来了他还是要自己做煤球。 并且,爷爷把煤球堆放得十分整齐有规律:最上边一层只有1个煤球。第二层4个煤球摆成正方形,再下面9个煤球也是摆成正方形。总之,第 n 层就是边长为 n 的正方形。这样的结构既通风又稳固。小明数了数,一共有30层,请你帮助计算一下,一共有多少个煤球? _______9455____#include#define max 30 //煤球原创 2015-11-08 13:29:17 · 1110 阅读 · 0 评论 -
蓝桥杯练手之回文数字
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。【输入格式】一个正整数 n(10【输出格式】若干行,每行包含一个满足要求的5位或6位整数。数字按从小到大的顺序排列。#includei原创 2015-11-08 13:12:02 · 771 阅读 · 1 评论 -
蓝桥杯练手之数字游戏
栋栋正在和同学们玩一个数字游戏。 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。 为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k 时,下一个数字重新从1开始数。例如,当k=13时,栋栋原创 2015-11-08 16:28:59 · 596 阅读 · 0 评论 -
C语言数据结构之栈与队列的应用(1)进制转换
栈与队列的应用(1)输入一个十进制数,利用栈操作,将该数转换成n进制数。#include #include #include #define stack_init_size 100#define stackincrement 10typedef struct sqstack{int *base;int *top;int stacksize;} sqstack;int原创 2015-11-02 12:50:06 · 2051 阅读 · 2 评论 -
C语言数据结构之栈与队列的应用(3)
循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。试模拟解决上述舞伴配对问题。要求:从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。//舞伴配对问题#define原创 2015-11-02 12:57:19 · 814 阅读 · 0 评论