C语言
文章平均质量分 56
YULIU_
I'm coming
展开
-
c语言的100个经典算法
每天一个算法,这是我的学习记录帖子 原帖http://blog.sina.com.cn/s/blog_768fa28b01015191.htmlday 1 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 程序分析:利用while语句,条件为输入的字符不为’\n’.#include "stdio.h"main(){char c;int letters=0,space原创 2016-07-19 21:19:21 · 1408 阅读 · 0 评论 -
买不到的数目
问题描述 小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。 输入格式 两个原创 2017-03-12 16:56:27 · 369 阅读 · 0 评论 -
Anagrams问题
Anagrams问题 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。 编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。 输入格式:输入有两行,原创 2017-03-16 23:02:14 · 406 阅读 · 0 评论 -
兰顿蚂蚁
兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。 平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。 蚂蚁的头部朝向为:上下左右其中一方。 蚂蚁的移动规则十分简单: 若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格; 若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。 规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的原创 2017-03-16 23:04:00 · 417 阅读 · 0 评论 -
string类中insert,find,copy的用法
下列网址提供了标准类库中string类的在线帮助: http://www.cplusplus.com/reference/string/string/http://en.cppreference.com/w/cpp/stringCapacity: size Return length of string (public member function ) length Return len原创 2017-03-26 20:53:18 · 557 阅读 · 0 评论 -
C++里string转换为int
c语言形式std::string str; int i = atoi(str.c_str()); c++形式std::string str; int i = std::stoi(str); 同样, 可以使用 stol(long), stof(float), stod(double) 等. 参考: http://en.cppreference.com/w/cpp/string/basic原创 2017-04-15 22:26:37 · 16203 阅读 · 0 评论 -
C++的string长度和插入函数
size#include<iostream>int main(){using namespac std;string a="abc";cout<<a.size()<<endl;}(2)a.length()(同size(),这是早期开发string类时加入的,现在还可以用,但其他STL容器没有此方法)解释一下sizeof的结果:sizeof运算符返回对象或类型实际占有的空间,string对原创 2017-04-15 22:39:59 · 17542 阅读 · 0 评论 -
模板(Template)
模板(Template)模板(Template)指C++程序设计语言中的函数模板与类模板[1],是一种参数化类型机制,大体对应于java和C#中的泛型,但也有一些功能上的显著差异(C++模板支持后两者没有明确对应的模板模板参数和模板非类型参数,但不支持Java的通配符以及C#的泛型类型约束)。模板是C++的泛型编程中不可缺少的一部分。模板是C++程序员绝佳的武器,特别是结合了多重继承与运算符重载原创 2017-04-24 21:12:26 · 1838 阅读 · 0 评论 -
C语言小项目实践——日历程序
背景:经过日常生活调查我们发现,目前人们的操作系统下的日程管理缺少应用程序,而且实现的功能过于简单,没有一个好用的进程安排软件。大多数日历程序仅仅实现了显示时间目的。缺乏日程管理,待办事项,个性化闹钟等功能,所以我们觉得现在大多数日历功能还不够完善,做得还不够人性化。因此我们想尝试改进面向对象的日历程序,使其功能更人性化,提供的服务更齐全。已经完成功能 日历的显示,日历的查询与随机更改年原创 2016-10-29 11:04:57 · 4173 阅读 · 0 评论 -
数据结构课后习题 马踏棋盘 c语言版
将马随机放在国际象棋的8×8棋盘某个方格中, 马按走棋规则进行移动。 要求每个方格只进入一次,走遍棋盘上全部64个方格。记录其步骤 转载的图片#include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct //记录坐标位置{ int x;......原创 2016-10-20 23:16:22 · 12916 阅读 · 9 评论 -
编译原理的词法分析器设计与实现
https://download.csdn.net/download/xuptacm/10383733 完整项目包int wordanalysis()//词法分析,分为3部分,完整项目在下面{ if ((a[i] &gt;= 'A'&amp;&amp;a[i] &lt;= 'Z')||(a[i]&gt;='a'&amp;&amp;a[i]&lt;='z')) //原创 2018-04-24 11:27:13 · 2911 阅读 · 0 评论 -
什么是二叉树的度?
二叉树的度是指树中所以结点的度数的最大值。二叉树的度小于等于2,因为二叉树的定义要求二叉树中任意结点的度数(结点的分支数)小于等于2 。 1.基本概念二叉树是树形结构中一种特殊的树形结构:二叉树中的每个结点至多有2棵子树(即每个结点的度小于等于2),并且两个子树有左右之分,顺序不可颠倒。在二叉树中还有种特殊的二叉树就是完全二叉树:所有结点中除了叶子结点以外的结点都有两棵子树。如果完全二叉树中......原创 2018-08-22 22:11:17 · 98145 阅读 · 8 评论 -
动态规划:最长上升子序与0-1背包问题
问题描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3, 4, 8)等等。这些子序列中最原创 2017-03-06 21:00:21 · 614 阅读 · 0 评论 -
哈夫曼编/译码器
这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的)。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。2.编码:利用已建立好的哈夫曼树,获得各个字符的哈夫曼编码,并对正文进行编码,然后输出编码结果,并存入文件(.souce),统计文件中字符出现的频度,并以这些字符的频度作为权值,建立哈夫曼树。原创 2016-12-29 10:57:10 · 2453 阅读 · 1 评论 -
救济金发放 (The Dole QUEUE UVa 133)
n(n<20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上)。接下来被官员选中的人(1个或者2个)离开队伍。输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 6, 10, 7原创 2016-07-27 12:40:56 · 1764 阅读 · 0 评论 -
c语言堆和栈的小问题和程序在vc6和GCC下遇到的不同区别
c语言堆和栈的两个小问题原创 2016-06-27 19:40:19 · 623 阅读 · 0 评论 -
数据结构练习题 约瑟夫环—用循环链表实现
#include"stdio.h"#include"stdlib.h"/*writer id: liu*/typedef struct Node{ int id; int password; struct Node* next;}Node;void CreatList(Node *phead,int n){ int i = 1; Node *pnew = NULL;原创 2016-09-19 23:24:16 · 1840 阅读 · 0 评论 -
A - Night at the Museum
Description Grigoriy, like the hero of one famous comedy film, found a job as a night security guard at the museum. At first night he received embosser and was to take stock of the whole exposition.Em原创 2016-11-18 20:11:03 · 531 阅读 · 0 评论 -
二叉树的层次遍历
#include<stdio.h>#include<malloc.h>typedef struct BiNode{ char data; struct BiNode *lchild,*rchild; struct BiNode* parent; }BiNode,*BiTree; //定义树结点结构typedef struct Qu原创 2016-11-25 21:39:31 · 516 阅读 · 0 评论 -
通过先序中序遍历建立二叉树
#include<stdio.h> #include<stdlib.h>#include<string.h>typedef struct node { char data; struct node *Lchild; struct node *Rchild; }*BiTree,BiNode;int Mark_Root_Pos(char in[], c原创 2016-12-19 20:15:09 · 644 阅读 · 0 评论 -
通过中序后序建立二叉树
#include<stdio.h> #include<stdlib.h>#include<string.h>typedef struct node { char data; struct node *Lchild; struct node *Rchild; }*BiTree,BiNode;int Mark_Root_Pos(char in[], c原创 2016-12-19 20:16:24 · 1199 阅读 · 0 评论 -
二叉树的建立与三种遍历
之前照着书上描写的通过递归建立二叉树后发现在输入时是死循环,便认为是自己程序出错后面发现自己的程序并没有出错,而是自己对于二叉树的定义理解不深刻。 在程序中 输入要严格按照正确的顺序才能结束.这里要用到二叉树的一个性质,就是说对于有n个节点的二叉树,就有n+1个空域,在这里即为如果你输入了n个元素,那么一定要有n+1个#才会结束迭代过程. 例如abcd#####原创 2016-11-18 20:03:55 · 14059 阅读 · 0 评论 -
数据结构课后习题 实现多项式的加法 c语言版
只写了多项式的建立和加法,减法和乘除也只是在上面的步骤上对指数和系数进行操作! 输出是先系数后指数!#include"stdio.h"#include"stdlib.h"typedef struct PolyNode *Polynomial;/*定义结点*/struct PolyNode/*建立节点,coef为系数,expon为指数*/{ int coef; int exp原创 2016-09-25 15:12:33 · 5956 阅读 · 3 评论 -
二叉树的非递归遍历
#include"stdio.h"#include"stdlib.h"#define MAXSIZE 100 typedef struct Node{ char data; struct Node* Lchild; struct Node* Rchild; struct Node* parent; }BiTNode,*Bi原创 2016-11-24 19:27:40 · 416 阅读 · 0 评论 -
三阶矩阵的乘法(C语言从文件中读入)
三阶矩阵的乘法(C语言从文件中读入)#include"stdio.h"#include"stdlib.h"using namespace std;void display(int A[3][3]){ for (int i = 0; i <3 ; ++i) { for (int j = 0; j < 3; ++j) { prin...原创 2019-03-24 17:09:45 · 6325 阅读 · 0 评论