C++
文章平均质量分 69
zjtx409
这个作者很懒,什么都没留下…
展开
-
C/C++中的typedef、#define和const
1、C/C++中的typedef和#define 在C/C++中,我们平时写程序可能经常会用到typedef关键字和#define宏定义命令,在某些情况下使用它们会达到相同的效果,但是它们是有实质性的区别,一个是C/C++的关键字,一个是C/C++的宏定义命令,typedef用来为一个已有的数据类型起一个别名,而#define是用来定义一个宏定义常量。下面谈谈两者在实际使用中应当注意的转载 2012-11-26 18:39:21 · 352 阅读 · 0 评论 -
二维数组的操作运算
//编写一个通用程序,求出二维数组(行数和列数必须相等)的非对角线元素之和,即求//两条对角线之外的元素之和。(没有使用类的方法)/*#includeusing namespace std;int main(){ int num1;//行数与列数 int i,j,k; cout cin>>num1; //为二维数组开辟空间 int *原创 2012-12-10 22:16:21 · 747 阅读 · 0 评论 -
整数降序数
//求任意整数的降序数,如整数82319,其降序数为98321。其思想是将整数的各位分解到一维数组中/*#include using namespace std;int main(){ int n; cout cin>>n; int a[5],i,j,temp; a[0]=n/10000; a[1]=n%10000/1000; a[2]=n%1000/100原创 2012-12-10 22:14:55 · 952 阅读 · 0 评论 -
任意长度的两个整数集合求并集与交集
//将以上数组为数据结构的程序实现改为单链表结构,可以对任意长度的两个整数集合求并集与交集#include using namespace std;struct LinkNode{ int data; LinkNode *next;};int check(int elem,LinkNode *head); int main(){ int len1,len2;原创 2012-12-13 17:05:22 · 1286 阅读 · 0 评论 -
降序数排列及变形
//生成动态链表,先将整数的各位数按降序数排列,再将各位数的元素按最大、最小、次最大、次最小等//间隔排序,最后计算出输入整数的各位数之和#include using namespace std;class NUM{public: int n; NUM *next;};NUM *creat(){ NUM *head=NULL,*tail=NULL,*temp原创 2012-12-12 19:00:34 · 334 阅读 · 0 评论 -
正整数转换为字符串数组
//正整数转换成字符串,不采用类的实现方式#include #include using namespace std;int main(){ int n,i=0,j,k; cout cin>>n; char a[11],b[11]; while(n) { a[i]=char(n%10+48); n=n/10; i++; } a[i]原创 2012-12-12 21:52:57 · 1118 阅读 · 0 评论 -
超长整数的输入与输出
//采用单链表,将超长整数的各位上的书分解到一个动态生成的单向链表中。#include using namespace std;int const n=200; struct LinkNode{ short int data; LinkNode *next;};int main(){ char num[n]; cout cin>>num;//num的位数原创 2012-12-13 10:51:52 · 854 阅读 · 0 评论 -
两个固定长度整数集合并
#include using namespace std;class SET{public: SET(int x[],int xl,int y[],int yl){ numa=xl;numb=yl;numc=0; for (int i=0;i a[i]=x[i]; for(int j=0;j b[j]=y[j]; } int check(i原创 2012-12-13 14:34:12 · 463 阅读 · 0 评论 -
分数运算-实现两分数相加
//分数运算,实现两分数相加,还要注意约分#include using namespace std;class Fract{public: Fract(){} Fract(int x,int y){ num=x;len=y; } int gcd(int n,int m){ int r; int i=1; while (i {原创 2012-12-13 21:37:28 · 2139 阅读 · 0 评论 -
删除序列中相同的数
//删除序列中相同的数/*#include using namespace std;int main(){ int a[]={2,1,3,2,4,6,10,9,8,7,6,5,4,8,8,10}; int i,j=1,n,num=1; n=sizeof(a)/sizeof(int); cout for (i=0;i cout cout int k=n;原创 2012-12-10 22:17:38 · 709 阅读 · 0 评论 -
C++下基本数据类型所占位数和取值范围
char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int转载 2012-12-10 15:49:04 · 522 阅读 · 0 评论 -
C++变量存储类型
变量的存储方式可分为“静态存储”和“动态存储”两种。静态存储变量通常在变量定义时就分配好存储单元并一直保持不变,直至整个程序结束。动态存储变量是在执行过程中,使用它时才分配存储单元,使用完毕立即释放。典型的列子是函数的形式参数,在函数定义时并不给形参分配存储单元,只有在函数被调用时,才予以分配,函数调用完毕立即释放。如果一个函数被多次调用,则反复分配、释放形参变量的存储单元。从以上分析原创 2012-11-26 10:24:24 · 485 阅读 · 0 评论 -
宏定义
1、在C/C++中用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。预处理时不对宏定义进行正误检查。a、宏定义是用宏名来表示一个字符串,在宏展开的时候又以该字符串取代宏名,因此,宏定义有错也只能在编译已被宏展开后的源程序是发现。b、宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。c、宏定义必须写在函数之外,其作用域为宏定义命令起到源程序原创 2012-11-26 19:38:16 · 1315 阅读 · 0 评论 -
条件编译
预处理程序提供了条件编译的功能。可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。这对于程序的移植和调试是很有用的。条件编译有3中形式:1、第一种形式#ifdef 标识符程序段1#else程序段2#endif其功能是,如果标识符已经被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中#else可以原创 2012-11-26 20:03:00 · 261 阅读 · 0 评论 -
静态成员变量与普通成员变量的区别
1.静态成员变量是属于整个类的全局变量,它不单属于某一个对象;普通成员变量是属于类中的对象,它不能被所有对象共享。如:class A{public:static int x;};int A::x=10;//注意在定义静态成员变量x的时候也要加上类名和限定符(A::)。int main(){ A a,b,c; cout ret原创 2012-11-13 20:36:24 · 8291 阅读 · 0 评论 -
静态成员函数
静态成员函数与静态成员变量一样,都不属于一个对象,而是属于整个类。公有的静态成员函数在未创建对象时也可以使用,它的调用与静态成员变量一样,在静态成员函数名前加上类名和限定符(如A::)。我们也可以通过对象来访问静态成员函数。1.静态成员函数是属于整个类的,因此它不能访问某个对象的成员变量,因为它没有指向该对象的this指针,不过它可以访问该类的静态成员变量。2.要使用类成员名限定来访问静态原创 2012-11-13 22:19:26 · 374 阅读 · 0 评论 -
类的静态成员变量和静态成员函数的使用
C++类静态成员与类静态成员函数 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。 静态数据成员的用途之一是统计有多少个对象实际存在。转载 2012-11-14 09:53:57 · 446 阅读 · 0 评论 -
C++中Vector的用法
C++中的vector使用范例一、概述vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。例如:// c语言风格int myHouse[100] ;// 采用vectorvector vecMy转载 2012-12-02 15:48:49 · 476 阅读 · 1 评论 -
在C++中实现变长数组
http://club.topsage.com/thread-2420034-1-1.html1.变长一维数组这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做://文件名: array01.cpp#include using namespace std;int转载 2012-12-02 14:14:01 · 378 阅读 · 0 评论 -
超长数列中的n个整数排序,要求能够把从指定位置m开始的n个数排列成降序,并输出完整的数列
//超长数列中的n个整数排序,要求能够把从指定位置m开始的n个数排列成降序,并输出完整的数列#include using namespace std;class LIST{public: LIST(int p[],int x,int y,int size){ m=x;n=y;len=size; p1=new int[len]; for (int i=0;i原创 2012-12-13 22:28:32 · 1652 阅读 · 0 评论