
c++
文章平均质量分 60
Hannea007
不忘初心,方得始终。
展开
-
C++中的头文件
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是转载 2013-03-01 16:52:11 · 454 阅读 · 0 评论 -
C++格式化输入输出~~~~~~~~~
cin与cout 一:标准输入函数cin 不知道说它是个函数对还是不对,它是代表标准的输入设备--键盘。他是属于流的,他的用法和流的用法是一样的。也就是:cin>>变量;小小的说明一下,输入多个变量可以写在一行,如:cin>>x>>y>>z;这样写不是不允许,而是不好看,如果是不同的变量类型,那就更是没头没脑了。除了你,人家是不知道该输入什么的,所以,一般在输入语句的前原创 2013-08-14 21:59:17 · 1757 阅读 · 0 评论 -
C++中的static关键字
原文地址:http://blog.youkuaiyun.com/hackbuteer1/article/details/7487694C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static原创 2013-08-27 21:32:43 · 585 阅读 · 0 评论 -
将文本文件中的数据读取到一个二维数组中,求出这些数据的中位数,然后求所有数据与中位数的差值的绝对值和,并求出和的最小值,最后把程序运行的结果写到一个txt文件中
#include#include#include #include using namespace std;ofstream outFile("final.txt");float zws(float **a, const int start1,const int end1,const int start2,const int end2){ const int sum=(end1原创 2013-08-08 10:50:02 · 1862 阅读 · 0 评论 -
char *s和char s[]的区别与联系以及strlen()和sizeof()的用法
#includeusing namespace std;void reverse(char s[]){ char *p, *q, temp; p = s;//p指向字符串s的第一个字符 q = s + strlen(s) -1;//q指向字符串s的最后一个字符。 while(p < q) { temp = *p;//交换两字符 *p = *q; *q = temp;原创 2013-08-15 23:03:29 · 5698 阅读 · 1 评论 -
cout.put()的用法
#includeusing namespace std;void f(int x){ if(x) { cout.put('0' + x%10); f(x / 10); }}int main(){ f(11001); system("pause"); return 0;}输出结果为:原创 2013-08-27 20:18:42 · 6328 阅读 · 0 评论 -
求最大公约数的函数
long gcd(long m1, long m2) //求最大公约数。{ while(m2) { long m = m1; m1 = m2; m2 = m % m2; } return labs(m1);}原创 2013-09-09 14:37:14 · 866 阅读 · 0 评论 -
用递归方法求解:一只母兔从四岁开始每年生一只小母兔,按此规律,第n年时有多少只母兔?
分析如下:程序:#includeusing namespace std;int f(int n){ return n < 4 ? 1 : f(n-4) + f(n-1);//注意这个式子的应用。}int main(){ int n; cout << "请输入年数:" << endl; while( cin >> n) { cout << "兔子数为:"原创 2013-09-02 21:11:53 · 3998 阅读 · 4 评论 -
C/C++ strlen(str)和str.length()和str.size()的区别
strlen(str)和str.length()和str.size()都可以求字符串长度。其中str.length()和str.size()是用于求string类对象的成员函数strlen(str)是用于求字符数组的长度,其参数是char*。#include #include using namespace std;int main(){原创 2014-05-06 10:16:37 · 3865 阅读 · 0 评论 -
在Excel2003中,用A表示第1列,B表示第2列......Z表示第26列,AA表示第27列,AB表示第28列......以此类推。请写出一个函数,输入用字母表示的列号编码,输出它是第几列。
//这是一道关于进制的题目,其本质是把十进制数字用A~Z表示成二十六进制。#include#includeusing namespace std;int StringToInt(const string& str){ int length = str.length();//这里也可用str.size(). if(length < 0)//如果没有输入字符,则报错。 {原创 2014-05-06 11:27:27 · 12128 阅读 · 2 评论 -
合并两个排序的数组
#includeusing namespace std;/*有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2.实现一个函数,把A2中的所有数字插入到A!中并且所有的数字是排序的。*//*思路:先计算出两个数组中元素的总个数,然后从尾到头比较array1和array2中的数字, 并把较大的数字复制到array1的合适位置。*///num1和nu原创 2014-04-20 20:37:15 · 863 阅读 · 0 评论 -
用法char ch=getchar()正确性详解 《C陷阱与缺陷》 chap5.1
#include int main(){ char c; /* 改成:int c 就正确了 */ while( ( c = getchar() ) != EOF ) { putchar( c ); } return 0;}转载 2014-04-08 21:56:13 · 1542 阅读 · 0 评论 -
关于printf()与scanf()在不同情形下可以接受不同类型的参数的一个例子。
在《C陷阱与缺陷》连接(第四章)那一章中,有这样一个程序:转载 2014-04-09 20:02:22 · 1352 阅读 · 0 评论 -
虚函数 虚继承 sizeof
#include using namespace std; class A { public: A(){} A(int a):m_a(a){} virtual void print() { cout<<"A::"<<m_a<<endl; } private: int m_a;转载 2014-04-11 12:46:33 · 822 阅读 · 0 评论 -
各种数据类型占的字节数
#includeusing namespace std;int main(){ cout << "各种数据类型占的字节数:" << endl; cout << endl; cout << "bool:" << "\t" << "\t" << sizeof(bool)<< endl; cout << endl; cout << "char:" << "\t" << "\t原创 2014-04-10 21:21:18 · 1188 阅读 · 0 评论 -
复制构造函数 赋值操作符
拷贝构造函数的参数为什么必须使用引用类型?原创 2014-04-13 16:42:48 · 604 阅读 · 0 评论 -
编写一个函数 char *strfind(char *s, char *t),用于查找字符串t在字符串s中最右边出现的位置,如果没有找到则返回NULL.
#include #include using namespace std;char *strfind(char *src, char *dst){ int len1 = strlen(src); int len2 = strlen(dst); int start = len1 - 1; int end = len2 - 1; int i,j = len2 - 1; for(原创 2013-08-21 22:37:48 · 4359 阅读 · 1 评论 -
使用循环语句打印菱形
#includeusing namespace std;int main(){ int n; cout << "输入要打印菱形每边*的个数:" << endl; cin>>n; int i,j; for(i=1;i<=n;i++) //第I行,行不断的增加 { for(j=1;j<=30-2*i;原创 2013-08-09 22:54:12 · 3870 阅读 · 0 评论 -
编写程序输入一个n*n的矩阵,求出两条对角线元素值之和(注意把输入的元素写入二维数组的方式)
#includeusing namespace std;int main(){ int sum = 0; int n = 0; int **array;//指向整型的指针的指针. cout << "请输入矩阵的维数:" << endl; cin >> n; array = new int*[n];//存放指针的数组. for(int k = 0; k < n; k++)原创 2013-08-21 11:02:47 · 19584 阅读 · 2 评论 -
typedef int int_array[4];
[cpp] view plaincopy"code" class="cpp">#include using namespace std; int main() { int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; typedef int int_array[4]; for (int_array *p =ia;p!= ia+3;++p)转载 2012-11-29 18:07:20 · 688 阅读 · 0 评论 -
由”构造函数“引发的一系列的。。。
#includeusing namespace std;class test{ typedef struct node{ //条件:1.位域中冒号后面的数值不能超过冒号前面变量类型所占空间的位(bit)数 // 2.位域成员不能使用sizeof()求值 //注意:变量类型顺序对内存空间大小的分配也会产生影响 // 如下分配8个字节: char i:5原创 2012-10-19 18:39:47 · 626 阅读 · 0 评论 -
c++中的函数指针
函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢? 如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。定义一个指向函数的指针用如下的形式,以上面的test()为例:int (*fp)(int a);//这里就定义了一个指向函数的指针函数指针绝对不能指向不同类型,或原创 2013-03-08 21:45:50 · 729 阅读 · 0 评论 -
编写程序将一个list容器的所有元素赋值给一个vector容器。
#include#include#include#includeusing namespace std;int main(){ char* pchar[]= {"what", "is", "your", "name"}; list clist(pchar , pchar+4);// 注意这里初始化存储指向c风格字符串的char*指针的容器的方法。 vector svec; s原创 2013-03-28 15:03:07 · 1282 阅读 · 0 评论 -
计算字符串中有多少单词,并输出最长最短的单词。(c++primer 9.39)
#include#include#includeusing namespace std;int main(){ string line1 = "We were her pride of 10 she named us:"; string line2 = "Benjamin, Phoenix, the Prodigal"; string line3 = "and perspicac原创 2013-03-29 19:25:51 · 1885 阅读 · 0 评论 -
使用stack对象处理带圆括号的表达式。
#include#include#includeusing namespace std;int main(){ stack sstack; string str; cout << "please int string for str:" << endl; cin >> str; string::iterator iter = str.begin(); while(ite原创 2013-03-29 22:38:17 · 1201 阅读 · 0 评论 -
(求解答)对于不同输入方式得到的不同结果
#include#include#includeusing namespace std;int main(){ int ival; vector ivec; list ilist; cout << "please input some integers for vector(ctrl+z to end)!!!" << endl; while(cin >> ival) ive原创 2013-03-25 19:21:46 · 878 阅读 · 0 评论 -
将一个list容器的所有元素赋值给一个vector容器。
#include#include#include#includeusing namespace std;int main(){ char* pchar[]= {"what", "is", "your", "name"}; list clist(pchar , pchar+4); //注意这里初始化存储指向c风格字符串的char*指针的容器的方法。 vector svec; s原创 2013-03-28 15:05:14 · 1538 阅读 · 0 评论 -
(在命令窗口调试c++程序)给出一个string对象,把它转换为另一个string对象
/*本程序输入是两个文件,第一个文件(命名为1.txt)包括了若干单词对,每对的第一个单词将出现在输入的字符串中,而第二个单词是用于输出,本质上,这个文件提供的是单词转换的集合--在遇到第一个单词时,应该将之替换为第二个单词。第二个文件(2.txt)提供需要转换的文本。*/#include#include#include#include#includeusing namespa原创 2013-04-12 20:57:56 · 796 阅读 · 0 评论 -
c++中 rand函数和srand函数的用法和区别
标准库 (被包含于 中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void); 从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。 函数二:void srand(unsigned seed); 参数seed是rand()的种子,用来初始化rand()的起始值。用转载 2013-04-13 21:50:07 · 1493 阅读 · 0 评论 -
(有疑问)类中数组作为一个类对象。
#includeusing namespace std;class Test{private: int num;public: Test(int a) { num = a; cout << "第" << num << "个Test对象的构造函数调用" << endl; } ~Test() { cout << "第" << num << "个Test对象的析构函数原创 2013-04-27 22:04:25 · 753 阅读 · 0 评论 -
默认构造函数,复制构造函数,赋值操作符函数,析构函数的调用。
#include#includeusing namespace std;class Exmpl{public: Exmpl() { cout << "默认构造函数运行:Exmpl()" << endl; } Exmpl(const Exmpl&) { cout << "复制构造函数运行:Exmpl(const Exmpl&)" << endl; } Exmpl &原创 2013-05-19 00:20:25 · 844 阅读 · 0 评论 -
sizeof(string)和 数组中输出数组中元素地址的方法。
#includeusing namespace std;int main(){ string str1 = "asbekfjdg"; string str2 = "kgldsfgldfkghf;gsdgdslfkdfhdfghlghflghfghhfjgl;jghlg;jgljhgjh;gjhgj"; cout << "sizeof(str1) = " << sizeof(str1)原创 2013-05-09 19:18:28 · 936 阅读 · 0 评论 -
(待解决)输入操作符重载。
#include#includeusing namespace std;class Sales_item{ friend istream& operator>>(istream& , Sales_item&); string isbn; int units_sold; double revenue; };istream& operator>>(istream& in原创 2013-05-27 19:49:42 · 555 阅读 · 0 评论 -
类,友元函数 ,重载操作符(+, +=)
#include#includeusing namespace std;class sales_item{public: friend sales_item add(const sales_item&, const sales_item&); friend sales_item operator+(const sales_item&,const sales_item&); bo原创 2013-05-14 17:08:17 · 767 阅读 · 0 评论 -
C++输出二进制、十进制、八进制和十六进制以及左移右移运算符的总结
#include //#include using namespace std; int main(void) { int i,j,k,l; cout<<"Input i(oct),j(hex),k(hex),l(dec):"<<endl; cin>>oct>>i; //输入为八进制数 cin>>hex>>j; /原创 2014-04-13 21:23:23 · 8221 阅读 · 0 评论