应用实践编程题答案new剖析

上传人:我** 文档编号:113108630 上传时间:2019-11-08 格式:DOCX 页数:24 大小:42.86KB
返回 下载 相关 举报
应用实践编程题答案new剖析_第1页
第1页 / 共24页
应用实践编程题答案new剖析_第2页
第2页 / 共24页
应用实践编程题答案new剖析_第3页
第3页 / 共24页
应用实践编程题答案new剖析_第4页
第4页 / 共24页
应用实践编程题答案new剖析_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《应用实践编程题答案new剖析》由会员分享,可在线阅读,更多相关《应用实践编程题答案new剖析(24页珍藏版)》请在金锄头文库上搜索。

1、类编程题1【题目】试定义一个类NUM,验证下列命题是否成立:任意一个正整数与其反序数相加,得到一个新的正整数,再对这个新正整数重复上述步骤,最终一定可以得到一个回文数。例如,正整数350的反序数为053(即53),350+53=403, 403+304=707,707是回文数,命题成立。又如,正整数2015的反序数为5102,2015+5102 =7117,7117是回文数,命题成立。具体要求如下:私有数据成员int num:存放用于验证命题的正整数。公有成员函数NUM(int x):构造函数,用x初始化数据成员num。void set(int a):将num的值设置为a。int yn(int

2、 n):判断n是否回文数,若是,返回1;否则返回0。void fun():使用num验证命题是否成立,并显示验证过程。在主函数中对该类进行测试。输出示例:num=350的验证过程如下:350+53=403403+304=707命题成立!num=2015的验证过程如下:2015+5102=7117命题成立!2【题目】试定义一个实现计算学生课程成绩的类STU,对学生学期总评成绩进行计算并排序。具体要求如下:(1) 私有数据成员int norm, ex, final,overall:分别表示平时成绩、实验成绩、期末考试和总评成绩。char name15:学生姓名。(2) 公有成员函数void ini

3、t(char *name1, int nor1, int ex1, int fin1):用参数name1,nor1,exp1,fin1分别初始化成员name,norm, ex, final。void fun( ):计算学生的总评成绩。计算方法为:总评成绩=平时成绩占*20%+实验成绩占*25%+期末成绩占*55%。总评成绩计算时要求四舍五入,并且期末考试成绩不足50分时,则期末考试成绩即为总评成绩。friend void sort(STU st, int n):友元函数,对st按总评成绩进行从大到小排序。void print( ):输出该学生信息。(3) 在主函数中先定义一个有5个元素的对象数

4、组,用循环语句输入学生信息,并根据这些信息利用成员函数init()更新学生信息,然后使用函数sort()对数组排序,最后输出排序后的学生信息。输入/输出示例(下划线部分为键盘输入):请输入姓名、平时成绩、实验成绩、期末成绩:AAA 82 75 58请输入姓名、平时成绩、实验成绩、期末成绩:BBB 93 60 84请输入姓名、平时成绩、实验成绩、期末成绩:CCC 67 82 81请输入姓名、平时成绩、实验成绩、期末成绩:DDD 54 78 51请输入姓名、平时成绩、实验成绩、期末成绩:EEE 91 52 41按总评成绩排序后:姓名平时成绩实验成绩期末成绩总评成绩BBB 93 60 84 80CC

5、C 67 82 81 78AAA 82 75 58 67DDD 54 78 51 58EEE 91 52 41 413【题目】试定义一个类Array,首先求各列元素中的合数(非素数)之和,再将数组各列以其合数之和的大小从大到小排序,具体要求如下: (1) 私有数据成员int a45:需要排序的二维数组。(2) 公有成员函数Array(int t5, int n):构造函数,用参数t初始化成员数组a,n表示数组t的行数。int comp(int n):判断整数n是否为合数,如果是合数,返回值为1,否则返回值为0。intsum_comp(int j):求数组a第j列元素中所有合数之和。void e

6、xch(int j1, int j2):交换数组a的第j1, j2列元素。void fun():根据题意对二维数组进行列排序。void print():以矩阵的形式输出成员数组。(3) 在主函数中定义一个二维数组,并使用该数组对类Array进行测试。输出示例:原数组:10 12 5 4 1516 17 8 19 1011 12 13 14 1516 70 18 19 20排序后的数组:12 15 10 5 417 10 16 8 1912 15 11 13 1470 20 16 18 194【题目】 已知切线法求方程 f(x)=ax2+bx+c=0 在x附近的一个解的迭代公式为:x=x-f(x

7、)/f(x),其中f(x)=2ax+b为函数f(x)的导数。试定义一个类EQU,用切线法求方程 f(x)=ax2+bx+c=0 在x附近的一个解。具体要求如下:(1) 私有数据成员float a,b,c:保存方程的系数a,b和c。double x:x为所求得的解。(2) 公有成员函数EQU(float a1, float b1, float c1):构造函数,用参数a1, b1, c1分别初始化成员a,b,c。void fun(double x0, double e ):求方程在x0附近的一个解,所采用的算法是:依次计算x1=x0-f(x0)/f(x0), x2=x1-f(x1)/f(x1),, xn=xn-1-f(xn-1)/f(xn-1),直到|f(xn)|e为止。void print( ):输出所求得的解。(3) 在主函数中建立EQU对象,并求出方程 f(x)=2x2+6x-7=0 在x=5.0附近的一个解,要求最终误差|f(x)|0,则方程在区间x1, x2上无解;(2)令x=(x1+x2)/2;(3)如果f(x)*f(x1)0,方程的解在区间x, x2上,则令x1=x;否则,解在区间x1, x,令x2=x;(4)重复步聚(2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号