教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

VC++课程实践题目

来源:网络收集 时间:2026-08-10
导读: 程序设计实践的内容 第一部分 基 础 题 1.试建立一个类PP,求出下列多项式的前n项的值。 n 0 1 Pn(x) x n 1 ((2n 1)xP(x) (n 1)P(x))/nn 1n 1n-2 具体要求如下: (1)私有数据成员 int n:前若干项的项数。 double x:存放x的值。 double *p:根据n的大小

程序设计实践的内容

第一部分 基 础 题

1.试建立一个类PP,求出下列多项式的前n项的值。

n 0 1 Pn(x) x n 1

((2n 1)xP(x) (n 1)P(x))/nn 1n 1n-2

具体要求如下:

(1)私有数据成员

int n:前若干项的项数。

double x:存放x的值。

double *p:根据n的大小动态申请存放Pn(x) 前n项的数组空间。

(2)公有成员函数

PP(int num,double x1):构造函数,初始化数据成员n和x,使p指向动态申

请的数组空间。

~PP():析构函数,释放p指向的动态内存空间。

double fun(int n1,double x):递归函数,用于求多项式Pn(x)的第n1项。注意:

将递归公式中的n用作函数参数。本函数供process函数调用。

void process( ):完成求前n项的工作,并将它们存放到p指向的动态数组中。 void show( ):输出n和x,并将前n项以每行4个数的形式输出到屏幕上。

(3) 在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,

用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。

2.试建立一个类SP,求f(n,k) 1k 2k 3k .... nk,另有辅助函数power(m,n)用于求m。

具体要求如下:

(1)私有成员数据。

int n,k:存放公式中n和k的值;

(2)公有成员函数。

SP(int n1,int k1):构造函数,初始化成员数据n和k。

int power(int m, int n):求mn。

int fun( ):求公式的累加和。

void show( ):输出求得的结果。

(3)在主程序中定义对象s,对该类进行测试。

3.建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。

具体要求如下:

(1)私有数据成员

float array[20]:一维整型数组。

int n:数组中元素的个数。

(2)公有成员函数 n

MOVE(float b[],int m):构造函数,初始化成员数据。

void average():输出平均值,并将数组中的元素按要求重新放置。

void print():输出一维数组。

(3)在主程序中用数据{1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}对该类进行测试。

4.建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。

具体要求如下:

(1)私有数据成员

int *array:一维整型数组。

int n:数组中元素的个数。

(2)公有成员函数

MOVE(int b[],int m):构造函数,初始化成员数据。

void exchange():输出平均值,并将数组中的元素按要求重新放置。

void print():输出一维数组。

~MOVE():析构函数。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。

5.定义一个类Palindrome,实现绝对回文数。设计一个算法实现对任意整型数字判断是否为绝对回文数。所谓绝对回文数,是指十进制数和二进制数均对称的数。

具体要求如下:

(1)私有数据成员

int n:整型数字。

int y: 标记是否为回文数。

(2)公有成员函数

Palindrome (int x) :构造函数,根据x参数初始化数据成员n,y初始化为0。 void huiwen () :判断数n是否为绝对回文数。

void show( ) :若该数为回文数,则在屏幕显示。

(3)在主程序中定义int a,由键盘输入数字。定义一个Palindrome类对象p,用a初

始化p,完成对该类的测试。

6.定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。

具体要求如下:

(1)私有数据成员

char *str;

int y:标记是否为回文字符串。

(2)公有成员函数

String (char *s) :构造函数,用给定的参数s初始化数据成员str。y初始化

为0。

void huiwen () :判断str所指向的字符串是否为回文字符串。

void show( ) :在屏幕上显示字符串。

(3)在主程序中定义字符串char s[]=”ababcedbaba”作为原始字符串。定义一个String

类对象test,用s初始化test,完成对该类的测试。

7.建立一个类PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的生成过程为:起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。

具体要求如下:

(1)私有数据成员

int (*p)[20]:指向按照折叠规律存放方阵的二维整型数组。

int startnum:折叠方阵的起始数。

int n:存放方针的层数。

(2)公有成员函数

PHALANX (int s, int m ):构造函数,初始化成员数据。

void process():生成起始数为startnum的n行方阵。

void print():输出折叠方阵。

~ PHALANX( ):析构函数。

(3)在主程序中对该类进行测试。

8.建立一个MATRIX,生成并显示一个螺旋方阵。螺旋方阵如下图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。

具体要求如下:

(1)私有数据成员

int a[20] [20]:二维整型数组存放螺旋方阵。

int startnum:螺旋方阵的起始数。

int n:存放方针的层数。

(2)公有成员函数

MATRIX (int s, int m ):构造函数,初始化成员数据startnum和n。

void process():生成起始数为startnum的n行螺旋方阵。

void print():输出螺旋方阵。

(3)在主程序中定义MATRIX类的对象t对该类进行测试。

9.定义一个字符串类CString,并设计一个算法对该串中各个不同字符出现的频率进行统计。具体要求如下:

(1)私有数据成员

char *str:指向要统计的字符串。

char (*p)[2]:动态分配二维空间,用以存放str所指字符串中出现的字符及

其出现的次数(次数在存放时,用该数字对应的ASCII值存放;在输出次数

时,输出该ASCII字符对应的ASCII值即可)。

int size:存放字符串中出现的所有不同的字符的个数。

(2)公有成员函数

CString (char *s) :根据s参数初始化数据成员str;p和size初始值为0。

void Count():p根据s所指字符串长度分配空间。然后把str所指字符串中的

每个字符放入p数组中,设置每个字符的出现次数为1。根据p数组统计不同

字符出现的频率,并求得size的实际大小。最后根据size的实际大小,重新

分配p所指空间,并把不同字符及其出现次数重新放回p数组(提示:可以借

助临时数组或指针来实现)。

void Show():屏幕显示字符串、字符串的每个字符和与之对应的次数。

~CString():释放动态分配的空间。

(3)在主程序中定义字符串char s[]=”abdabcdesffffd”。定义一个CString类对象test,

用s以初始化test,完成对该类的测试。

10.定义一个字符串类CString,并设计一个算法实现,给定关键字str1在字符串str中出现

时用关键字str2进行替换的功能。

具体要求如下:

(1)私有数据成员

char *str; …… 此处隐藏:7160字,全部文档内容请下载后查看。喜欢就下载吧 ……

VC++课程实践题目.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1583738.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)