C++
放肆青春的博客
www
展开
-
理解C++中的头文件和源文件的作用
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separatecompilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对独转载 2017-05-06 20:11:57 · 3223 阅读 · 3 评论 -
[编程题] 黑化的牛牛
时间限制:1秒空间限制:32768K牛牛变得黑化了,想要摧毁掉地球。但他忘记了开启地球毁灭器的密码。牛牛手里有一个字符串S,牛牛还记得从S中去掉一个字符就恰好是正确的密码,请你帮牛牛求出他最多需要尝试多少次密码。如样例所示S = "ABA",3个可能的密码是"BA", "AA", "AB".当S = "A", 牛牛唯一可以尝试的密码是一个空的密码,所以输出1. 输入原创 2017-09-07 19:44:30 · 378 阅读 · 0 评论 -
[编程题] 膨胀的牛牛
牛牛以草料为食。牛牛有一天依次遇到n堆被施展了魔法的草料,牛牛只要遇到一堆跟他当前相同大小的草料,它就会把草料吃完,而使自己的大小膨胀一倍。一开始牛牛的大小的是A,然后给出牛牛依次遇到的n堆草料的大小。请计算牛牛最后的大小。 输入描述:输入包括两行,第一行包含两个整数n和A(1 ≤ n ≤ 200, 1 ≤ A ≤ 1,000,000,000)第二行包括n个整数,表示牛牛依次遇到的草原创 2017-09-07 19:56:12 · 356 阅读 · 0 评论 -
[编程题] 序列交换
牛牛有一个长度为n的整数序列s,羊羊要在牛牛的序列中选择不同的两个位置,然后交换这两个位置上的元素。现在需要求出羊羊交换后可以得到的不同的序列个数。(注意被交换的两元素值可能相同)。如序列{1, 47},输出1.羊羊必须交换仅有的两个元素,得到序列{47, 1}。羊羊必须交换,不能保留原有的序列。{1, 2, 1},输出3.羊羊通过交换可以得到{2, 1, 1},{1, 1, 2},{1,转载 2017-09-07 20:22:01 · 981 阅读 · 0 评论 -
【编程题】 丑陋的字符串
牛牛喜欢字符串,但是他讨厌丑陋的字符串。对于牛牛来说,一个字符串的丑陋值是字符串中相同连续字符对的个数。比如字符串“ABABAABBB”的丑陋值是3,因为有一对"AA"和两对重叠的"BB"。现在给出一个字符串,字符串中包含字符'A'、'B'和'?'。牛牛现在可以把字符串中的问号改为'A'或者'B'。牛牛现在想让字符串的丑陋值最小,希望你能帮帮他。 输入描述:输入包括一个字符串s,字符串转载 2017-09-07 20:23:10 · 301 阅读 · 0 评论 -
C++获取字符cin,getchar,get,getline的区别
原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5241544.html1.cin>>1)最常见的是获取输入的一个字符或数字,如int a,b;cin>>a>>b;注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。若不想过滤掉空白字符,可以用noskipws流进行控制。如下程序,没有过转载 2017-10-10 13:05:50 · 964 阅读 · 0 评论 -
C++中compare函数的使用
compare函数用来进行字符串以及其子串的比较,示例如下:#include #include #include using std::cout;using std::endl;using std::cin;using std::string;int main(void){ string str1="hi,test,hello"; string str2="hi,test";转载 2017-10-10 13:27:34 · 28921 阅读 · 1 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2017-10-30 17:21:49 · 186 阅读 · 0 评论 -
【编程题】黑白卡片
牛牛有n张卡片排成一个序列.每张卡片一面是黑色的,另一面是白色的。初始状态的时候有些卡片是黑色朝上,有些卡片是白色朝上。牛牛现在想要把一些卡片翻过来,得到一种交替排列的形式,即每对相邻卡片的颜色都是不一样的。牛牛想知道最少需要翻转多少张卡片可以变成交替排列的形式。 输入描述:输入包括一个字符串S,字符串长度length(3 ≤ length ≤ 50),其中只包含'W'和'B'两种字符转载 2017-09-07 19:33:22 · 496 阅读 · 0 评论 -
stdio.h及cstdio的区别
2013-07-04 16:45:19找了很多资料,没有说的很明白的,下面是老外的一篇文章,解释的比较清楚,后面给出翻译。Clarifying stdio.h versus cstdio转自:http://forums.codeguru.com/showthread.php?344430-Clarifying-stdio-h-versus-cstdioI con转载 2017-09-07 19:04:28 · 1369 阅读 · 0 评论 -
C++实现矩阵的m次方
矩阵乘法问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行N个整数转载 2017-05-06 17:30:31 · 4387 阅读 · 2 评论 -
C++分解质因数
问题描述:求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约转载 2017-05-06 17:23:21 · 13343 阅读 · 0 评论 -
c++语言统计数字个数
Problem2: 题目描述: 输入一组数据,统计每个数出现的次数,并按照数字的大小进行排序输出。 输入: 输入20个数字,数字之间用空格隔开。 输出: 统计每个数字出现的次数,并按数字的大小输出数字及其出现的次数. 样例输入: 209 8 5 1 7 2 8 2 9 10 1 7 8 9 5 6 9 0 1 9 样例转载 2017-05-06 17:11:14 · 14349 阅读 · 1 评论 -
c++语言实现贪吃蛇
1.完美的贪吃蛇 #include#include#include#include#define N 21#includeusing namespace std; void gotoxy(int x,int y)//位置函数{COORD pos;pos.X=2*x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTP原创 2017-04-19 20:20:01 · 46486 阅读 · 5 评论 -
百度2017春招笔试真题编程题集合
一、度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同。度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少? 输入描述:首先输入一个正整数N(N 输出描述:如果存在第三便宜的帽子,请输出这个价格是多少,否则输出-1输入例子:1010 10 10 10 20 20 30 30 40 40输出例子:30转载 2017-05-10 13:04:22 · 235 阅读 · 0 评论 -
iostream.h和iostream 区别
iostream.h和iostream区别C++中新定义的方法都是有名字空间的 比如cout就属于std名字空间 如果include头文件的时候加上.h,默认会using namespace 否则需要自己加上 using namespaceXXX 对于C中已经定义的方法如printf,没有影响的iostream.h是包含输入/输出流处理的头文件,iostream就什么都不是了但用ios转载 2017-09-13 16:40:32 · 599 阅读 · 0 评论 -
八大排序简单小结及c++实现
即插入排序、冒泡排序、选择排序、shell排序、基数排序、归并排序、快速排序、堆排序一、(直接)插入法(交换排序) 1、原理方法 从第二个数开始与前面的一个一个比较,小于则交换、大于等于则下一个数的循环。2、特点1)、稳定性:稳定2)、时间代价:O(n*n) 最好——正序——时间代价Θ(n) 最差——倒转载 2017-09-13 16:42:21 · 224 阅读 · 0 评论 -
基数排序
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢复默认状态),以下学习基数排序。【1】基数排序以前研转载 2017-09-13 16:43:46 · 235 阅读 · 0 评论 -
C++ auto变量
auto:用来声明自动变量。它是存储类型标识符,表明变量(自动)具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。其实大多普通声明方式声明的变量都是auto变量,他们不需要明确指定auto关键字,默认就是auto的了。auto变量在离开作用域是会变程序自动释放,不会发生内存溢出情况(除了包含指针的类)。使用auto变量的优势是不需要考虑去变量是否被释放,比较安全转载 2017-10-11 17:44:05 · 1270 阅读 · 0 评论