C++练习题(自己整理的)

1) 实现一个函数可从传入的数组中打出最大的数来。

2) 实现一个函数,交换int iA, int iB 两个变量的值(--引用传参--) 3) 实现一个函数,交换int iA, int iB 两个变量的值(--指针传参--) 4) 实现一个函数,逆序交换数组元素的值,

如:int iArray[5]={ 0,1,2,3,4,5,6}变为{ 0,1,2,3,4,5,6}

5):在一个RPG游戏中,有5个角色,每个角色有3个属性,(定义一个角色的结构体 包含三个属性名称、生命值和等级,然后创建5个角色对象)从键盘输入名称、生命值和等级, 6):在一个RPG游戏中,有5个角色,每个角色有3个属性,(定义一个角色的类包含三个成员变量名称、生命值和等级,三个查询属性值的成员函数)

从键盘输入名称、生命值和等级,再分别调用查询函数输出到控制台显示 7):利用文件流 将(6)中的数据输出到 外部文本中,如:data.txt

8):编写一个程序,已有若干个学生数据,这些数据包括学号、姓名、语文成绩、数学成绩和英语成绩,求各门功课的平均分。要求设计不同的成员函数求出各门课程的平均分,并使用成员函数指针调用它们

9):设计一个日期类Date,包括年、月、日等私有数据成员。要求实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数等。 思路分析:在Date类中设计如下重载运算符函数: Date operator+(int days); 返回一日期加天数得到的日期 Date operator-(int days); 返回一日期减去天数得到的日期 int operator-(Date &b); 返回两日期相差的天数

在实现这些重载运算符函数调用以下私有成员函数: leap(int); 判断指定的年份是否为闰年

dton(Date &); 将指定日期转换为从0年0月0日起的天数 ntod(int); 将指定的0年0月0日起的天数转换为对应的日期

10、设计一个点类Point,再设计一个矩形类,矩形类使用Point类的两个坐标点作为矩形的对角顶点。并可以输出4个坐标值和面积。使用测试程序验证程序。

11、使用内联函数设计一个类,用来表示直角坐标系中的任意一条直线并输出它的属性。

答案:

1、实现一个函数可从传入的数组中找出最大的数来

#include \ #include using namespace std; int Max(int a[]) {

int max=0; for (int i = 0; i < 10;i++) { if (max

int _tmain(int argc, _TCHAR* argv[]) {

int a[10] = { 1,5, 66, 2, 3, 4, 7, 8 ,9,88}; Max(a); system(\); return 0; }

2、实现一个函数,交换int iA, int iB 两个变量的值(--引用传参--)

#include \ #include using namespace std;

void Swap(int &iA, int &iB) { }

Void Swap(int &iA, int &iB); int main() { }

Int iA = 9; int iB = 4;

cout << \ << iA << \ << \ << iB << endl; Swap(iA, iB);

cout << \ << iA << \ << \ << iB << endl; system(\); return 0; int temp; temp = iA; iA = iB; iB = temp;

3、实现一个函数,交换int iA, int iB 两个变量的值(--指针传参--)

#include \ #include using namespace std;

void Swap(int *iA, int *iB) { int tmpe; tmpe = *iA; *iA = *iB; *iB = tmpe; }

Void Swap(int*, int*); Int main() { Int iA = 9; Int iB = 4; cout << \ << iA << \ << \ << iB << endl; Swap(&iA, &iB); cout << \ << iA << \ << \ << iB << endl; system(\); return 0; }

4、 实现一个函数,逆序交换数组元素的值,

如:int iArray[5]={ 0,1,2,3,4,5,6}变为{ 6,5,4,3,2,1,0}

#include \ #include using namespace std;

void ArayExchang(int * iArray,int ilength) { Int tmpe; int num = ilength / 2; for (int iCount = 0; iCount < num; iCount++) { tmpe = iArray[iCount]; iArray[iCount] = iArray[ilength-iCount-1]; iArray[ilength - iCount - 1] = tmpe; } }

Void ArayExchang(int *,int ); int main() { int iArray[7] = { 0, 1, 2, 3, 4, 5, 6 }; for (int j = 0; j < 7; j++) { cout << \<=0; j--) { cout << \ << j << \ << iArray[j] << endl; } system(\); return 0; }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4