C语言
文章平均质量分 63
zpfnevergiveup
纸上得来终觉浅 绝知此事要躬行,永远不要停止成长
展开
-
数据结构-线性表实现火车票销售
数据结构课程设计, 我选的是火车票销售的题目,用的是线性表的顺序结构,里面我觉得最不容易解决的就是,火车票信息的初始化,当初自己结构体没有学好,不怎么会对结构体中的元素赋值,但是在同学们和老师的指点下,终于解决了它的赋值问题,谢谢老师和同学们。然后接下来就是对数据的操作,退票的话,需要改一下结构体中的标志位,0为没有销售,1为已经销售出去了,火车有4节车厢,一共1-120个座位,每节原创 2015-12-25 13:05:55 · 1710 阅读 · 1 评论 -
nyoj 108 士兵杀敌(一)
对于每一个询问,输出总杀敌数每个输出占一行样例输入5 21 2 3 4 51 32 4样例输出69来源[张云聪]原创一开始使用数组存储每个士兵的杀敌数,然后通过输入的起始位置和终止位置来通过数组计算总杀敌数,最后超时了我们可以使用数组存储前n个值的和,也就是a[1]存储第1个士兵杀敌数,a[2]存储a[1]+a[2]也就原创 2017-09-17 15:07:40 · 261 阅读 · 0 评论 -
nyoj 116士兵杀敌(二) 树状数组的学习与使用
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。原创 2017-09-17 15:17:24 · 231 阅读 · 0 评论 -
NYOJ86找球号(一) 二分查找解决
wrong #include#includeusing namespace std;int main(){ int m,n,find; //定义m n long int a[10000]; scanf("%d %d",&m,&n); for(int i=0; i<m; i++) { scanf("%ld",&a[i]); }原创 2017-09-10 12:02:05 · 560 阅读 · 0 评论 -
nyist oj 17 单调递增最长子序列 (动态规划经典题)
单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklm转载 2017-09-10 16:49:01 · 347 阅读 · 0 评论 -
nyoj 79 拦截导弹 连续递减最长子序列(动态规划)
拦截导弹时间限制:3000 ms | 内存限制:65535 KB难度:3描述某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。原创 2017-09-10 18:33:40 · 328 阅读 · 0 评论 -
字典树学习与使用
动物统计加强版时间限制:3000 ms | 内存限制:150000 KB难度:4描述在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。输入第一行输入动物名字的数量N(1输出输出原创 2017-10-16 10:40:23 · 225 阅读 · 0 评论 -
do while 相关
do { break; }while(false) 相等于goto 大家可以网上查一下$count =0;do { //进行相关操作} while ($this->result() !=0 $count<3) 可以进行重试机制,当函数result的结果不为0,进行do while循环中的内容,也就是当函数结果没有执行成功的时候可以进行循环代码中的代码,也即重试机...原创 2018-07-05 19:47:11 · 224 阅读 · 0 评论 -
删除每个行末尾的空格及制表符 ,并删除完全是空格的行
练习1-18:编写一个程序,删除每个行末尾的空格及制表符 ,并删除完全是空格的行#include <stdio.h>#include <stdlib.h> #define MAXQUEUE 1001 int advance(int pointer){ if (pointer < MAXQUEUE - 1) return pointer +...原创 2018-07-20 09:13:30 · 1753 阅读 · 0 评论 -
树状数组学习
int lowbit(int t){return t&(-t);}void add(int x,int y){for(int i=x;in;i+=lowbit(i))tree[i]+=y;}int getsum(int x){int ans=0;for(int i=x;i>0;i-=lowbit(i))ans+=tree[i];return ans;}转载 2017-09-17 14:38:15 · 352 阅读 · 0 评论 -
从NYOJ1063 学习二叉树的建立与遍历
二叉树的递归创建与遍历原创 2017-09-06 14:16:40 · 278 阅读 · 0 评论 -
Dijkstra算法 NYOJ115城市平乱
城市平乱时间限制:1000 ms | 内存限制:65535 KB难度:4描述南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市。他在用这N个部队维护着M个城市的治安,这M个城市分别编号从1到M。现在,小工军师告诉南将军,第K号城市发生了暴乱,南将军从各个部队都派遣了一个分队沿最近路去往暴乱城市平乱。现在已知在任意两个城市之间原创 2017-03-12 19:16:54 · 370 阅读 · 0 评论 -
斐波那契数列迭代和递归实现
斐波那契数列主要数学函数定义是:n==0 ,F(n)=0n==1,F(n)=1n>1,F(n)=F(n-1)+F(n-2)代码实现如下:#include//斐波那契数列的地柜函数int Fbi(int i){ if(i<2) return i==1?1:0; return Fbi(i-1)+Fbi(i-2);}int main原创 2017-06-02 17:46:21 · 665 阅读 · 0 评论 -
有序表查找
#include#define OK 1#define ERROR 0#define TRUE 1#define FLASE 0#define MAXSIZE 100typedef int Status;/* 顺序查找,a为数组,n为要查找的数组长度,key为要查找的关键字*/int Sequential_Search(int *a,int n,int key){原创 2017-06-02 18:10:35 · 922 阅读 · 0 评论 -
冒泡排序及其优化
#include#include#include#define MAXSIZE 10#define OK 1#define TRUE 1#define FLASE 0typedef int Status; typedef struct { int r[MAXSIZE+1]; //用于存储要排序数组,r[0]用作哨兵和临时变量 int length;原创 2017-06-04 09:10:16 · 521 阅读 · 0 评论 -
选择排序
选择排序:简单选择排序法就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1代码如下:#include#include#include#define MAXSIZE 10#define OK 1#define TRUE 1#define FLASE 0typedef int Status; typedef struct {原创 2017-06-04 10:35:12 · 235 阅读 · 0 评论 -
直接插入排序
直接插入排序:直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。代码如下:#include#include#include#define MAXSIZE 10#define OK 1#define TRUE 1#define FLASE 0typedef int Status; typedef struct原创 2017-06-04 11:38:35 · 233 阅读 · 0 评论 -
动态创建链表及打印链表 (链表学习 一)
动态创建链表主要思想:定义三个执行结构体类型数据的指针,head,p1,p2,当输入的值p1->num不为0并且为第一个节点的时候,把该节点赋给头结点p1这个指针,主要是用来指向刚输入过数据的节点,p2这个指针,主要负责把p1刚输入的数据的这个节点加到链表中来。当输入为0时程序结束,返回头结点,具体流程如下:当我们输入: 1001,23,41002,34.51003,45.6原创 2017-08-20 17:18:53 · 579 阅读 · 0 评论 -
C语言实现 从尾到头打印链表每个节点的值(链表学习 二)
#include#include#include#define LEN sizeof(struct Student)//初始化链表struct Student{ long num; float score; struct Student *next;};int n;struct Student* creat(void){ //定义函数,返回一个执行链表头的指原创 2017-08-20 21:24:41 · 3027 阅读 · 4 评论 -
CMake和Make之间的区别
下面是中文翻译部分: 编程人员已经使用CMake和Make很长一段时间了。当你加入一家大公司或者开始在一个具有大量代码的工程上开展工作时,你需要注意所有的构建。你需要看到处跳转的”CMakeLists.txt”文件。你应该会在终端使用”cmake”和”make”。很多人都是盲目的跟着操作说明而并不在意我们已何种方式去做我们需要做的事。构建的整个过程是什么?为什么要用这种方式去组织?Cma...转载 2019-01-10 17:21:42 · 16278 阅读 · 0 评论