编程题复习要点

上传人:大米 文档编号:504299703 上传时间:2023-03-22 格式:DOCX 页数:26 大小:64.78KB
返回 下载 相关 举报
编程题复习要点_第1页
第1页 / 共26页
编程题复习要点_第2页
第2页 / 共26页
编程题复习要点_第3页
第3页 / 共26页
编程题复习要点_第4页
第4页 / 共26页
编程题复习要点_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《编程题复习要点》由会员分享,可在线阅读,更多相关《编程题复习要点(26页珍藏版)》请在金锄头文库上搜索。

1、编程题复习方法:做编程题时,先别着急动手,一定认真把题意理解清楚,在纸上写出解题方法和关键语句(用到什么算法),最后按照输入数据-处理数据-输出数据的流程实现主程序和相关函数。(按步骤给分,人工阅卷)编写程序时一定要注意格式,要有缩进或退格。1、 定义类的框架2、 成员函数的实现3、 在主函数中测试类具体实现的公式:class 类名private: 私有数据成员;public: 数据成员; 成员函数;(构造函数和析构函数); 类名:类名() /构造函数成员函数的个数与类中的个数相同,函数名前加类名:void main()类名 对象名( 参数 );/是否带参数取决于构造函数构造函数的定义方法 数

2、据成员是内置类型变量,直接用该类型的形参变量初始化数据成员。class A int i;public: A(int x) i=x;数据成员是一维数组,通过一个for循环将形参数组元素初始化一维数组成员。class A int t5;public: A(int b,int n) for(int i=0;in;i+)ti=bi; ;数据成员是二维数组,通过双重循环将形参数组元素初始化二维数组成员。class A int t34;public: A(int b4,int n) for(int i=0;in;i+) for(int j=0;j4;j+)tij=bij;数据成员是一维字符数组,可以用字符

3、串拷贝函数strcpy,将形参字符数组中的字符串,初始化字符数组成员。#include #include class A char t100;public: A(char b ) strcpy(t,b);数据成员是字符类型指针变量,先用new动态申请长度为形参指针指向的字符串长度+1的内存空间,把返回的首地址赋给指针成员,再把形参指向字符串拷贝到动态数组中。#include #include class A char *s;public: A(char *b) if(b) s=new charstrlen(b)+1; strcpy(s,b);数据成员是数值类型指针变量,先用new动态申请长度为

4、形参数组长度的内存空间,把返回的首地址初始化指针成员,再把形参数组元素循环赋给动态数组元素。#include class A int *s;public: A(int b 10) s=new int10; int i; for(i=0;i10;i+) si=bi; ;编程的基本类型题分析:一、学生成绩2016春VC01 (1)排序算法(2)四舍五入算法int(x+0.5)保留整数 int(x*10+0.5)/10.0 保留小数点后一位int(x*100+0.5)*100)/100.0 保留小数点后两位(3)友元函数的定义和调用(4)字符串拷贝函数【题目】试定义一个实现计算学生课程成绩的类STU

5、,对学生学期总评成绩进行计算并排序。具体要求如下:(1) 私有数据成员int norm, ex, final,overall:分别表示平时成绩、实验成绩、期末考试和总评成绩。char name15:学生姓名。(2) 公有成员函数void init(char *name1, int nor1, int ex1, int fin1):用参数name1,nor1,exp1,fin1分别初始化成员name,norm, ex, final。void fun( ):计算学生的总评成绩。计算方法为:总评成绩=平时成绩占*20%+实验成绩占*25%+期末成绩占*55%。总评成绩计算时要求四舍五入,并且期末考试

6、成绩不足50分时,则期末考试成绩即为总评成绩。friend void sort(STU st, int n):友元函数,对st按总评成绩进行从大到小排序。void print( ):输出该学生信息。(3) 在主函数中先定义一个有5个元素的对象数组,用循环语句输入学生信息,并根据这些信息利用成员函数init()更新学生信息,然后使用函数sort()对数组排序,最后输出排序后的学生信息。输入/输出示例(下划线部分为键盘输入):请输入姓名、平时成绩、实验成绩、期末成绩:AAA 82 75 58请输入姓名、平时成绩、实验成绩、期末成绩:BBB 93 60 84请输入姓名、平时成绩、实验成绩、期末成绩:

7、CCC 67 82 81请输入姓名、平时成绩、实验成绩、期末成绩:DDD 54 78 51请输入姓名、平时成绩、实验成绩、期末成绩:EEE 91 52 41按总评成绩排序后:姓名 平时成绩 实验成绩 期末成绩 总评成绩BBB 93 60 84 80CCC 67 82 81 78AAA 82 75 58 67DDD 54 78 51 58EEE 91 52 41 412016秋VC02编程题四舍五入算法 int(x+0.5)保留整数 int(x*10+0.5)/10.0 保留小数点后一位int(x*100+0.5)*100)/100.0 保留小数点后两位【题目】假设二维数组的一行代表一名学生课程

8、情况记录,前5列为考勤记录(出勤值为1,缺勤值0),第610列为作业得分记录(5分制),第11列为实验考核成绩,第12列为期末考试成绩。学生课程总评成绩的计算式为(四舍五入保留整数):平时成绩*20%+实验成绩*30%+期末考试成绩*50%,其中,平时成绩计算方法为:出勤一次记10分,作业每得1分,平时成绩记2分。例如,设有如下学生课程情况记录:考勤1考勤2考勤3考勤4考勤5作业1作业2作业3作业4作业5实验期末总评111104452490891011143434857511011345249580表中第一行学生的平时成绩计算为:(1+1+1+1+0)*10+(4+4+5+2+4)*2=78,

9、则其总评成绩计算为78*0.2+90*0.3+89*0.5=87.1,总评成绩四舍五入计为87分。试定义一个类Array,根据上述要求计算学生的总评成绩。具体要求如下:(1)私有成员:l int a313: 学生课程情况记录数组。(2)公有成员:l Array (float t13, int n): 构造函数,用参数t初始化成员数组a,参数n为t的行数。l int sum(int k): 辅助函数,计算并返回成员数组a的第k行学生的平时成绩。l void fun( ): 根据题意计算每个学生的总评成绩。l void print( ): 按示例格式输出每个学生的信息。注意总评成绩结果要四舍五入。

10、(3)在主函数中给定原始数组(可利用题目中的样例数据,总评成绩暂定为0),并用该数组对类Array进行测试。 输出示例:考勤: 1,1,1,1,0,作业: 4,4,5,2,4,平时成绩: 78 实验: 90 期末: 89 总评: 87考勤: 1,0,1,1,1,作业: 4,3,4,3,4,平时成绩: 76 实验: 85 期末: 75 总评: 78考勤: 1,1,0,1,1,作业: 3,4,5,2,4,平时成绩: 76 实验: 95 期末: 80 总评: 84【要求】打开T盘中myfc.cpp文件(空文件),编写后的源程序文件myfc.cpp必须保存在T盘的根目录下,供阅卷用。1答案#inclu

11、de#include class STUprivate:int norm,ex,final,overall;char name15;public: void init(char *name1,int norm1,int ex1,int fin1); void fun(); friend void sort(STU st,int n); void print();void STU:init(char *name1,int norm1,int ex1,int fin1)strcpy(name,name1);norm=norm1;ex=ex1;final=fin1;overall=0;void ST

12、U:fun() if(final=50) overall=int(norm*0.2+ex*0.25+final*0.55+0.5); else overall=int(final+0.5);void sort(STU st,int n)for(int i=0;in-1;i+)for(int j=i+1;jn;j+)if(sti.overallstj.overall)STU t;t=sti;sti=stj;stj=t;void STU:print()coutnametnormtextfinaltoverallendl;void main()STU s3;char name100;int norm,ex,fin;for(int i=0;i3;i+)cout请输入姓名、平时成绩、实验成绩、期末成绩:namenormexfin;si.init(name,norm,ex,fin);si.fun(); cout按总评成绩排序后:n姓名 平时成绩 实验成绩 期末成绩 总评成绩endl;sort(s,3); for(i=0;i3;i+)si.print();2答案#include using namespace std;class Arrayprivate:int

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

当前位置:首页 > 建筑/环境 > 施工组织

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