欢迎来到天天文库
浏览记录
ID:47580289
大小:64.79 KB
页数:25页
时间:2020-01-10
《编程题复习要点》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编程题复习方法:做编程题时,先别着急动手,一定认真把题意理解清楚,在纸上写出解题方法和关键语句(用到什么算法),最后按照输入数据-〉处理数据-〉输出数据的流程实现主程序和相关函数。(按步骤给分,人工阅卷)编写程序时一定要注意格式,要有缩进或退格。1、定义类的框架2、成员函数的实现3、在主函数中测试类具体实现的公式:class类名{private:私有数据成员;public:数据成员;成员函数;(构造函数和析构函数)};类名::类名(){//构造函数}成员函数的个数与类中的个数相同,函数名前加类名::voidmain(){类名对象名(参数);//是否带参数取决于构造
2、函数}构造函数的定义方法①数据成员是内置类型变量,直接用该类型的形参变量初始化数据成员。classA{inti;public: A(intx){i=x;}};②数据成员是一维数组,通过一个for循环将形参数组元素初始化一维数组成员。classA{intt[5];public:A(intb[],intn){for(inti=0;i3、or(intj=0;j<4;j++)t[i][j]=b[i][j]; }};④数据成员是一维字符数组,可以用字符串拷贝函数strcpy,将形参字符数组中的字符串,初始化字符数组成员。#include#includeclassA{chart[100];public:A(charb[]){ strcpy(t,b); }};⑤数据成员是字符类型指针变量,先用new动态申请长度为[形参指针指向的字符串长度+1]的内存空间,把返回的首地址赋给指针成员,再把形参指向字符串拷贝到动态数组中。#include#4、includeclassA{char*s;public:A(char*b){if(b){s=newchar[strlen(b)+1];strcpy(s,b);}}};⑥数据成员是数值类型指针变量,先用new动态申请长度为[形参数组长度]的内存空间,把返回的首地址初始化指针成员,再把形参数组元素循环赋给动态数组元素。#includeclassA{int*s;public:A(intb[10]){s=newint[10];inti;for(i=0;i<10;i++)s[i]=b[i];}};编程的基本类型题分析:一、学生成绩5、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,对学生学期总评成绩进行计算并排序。具体要求如下:(1)私有数据成员intnorm,ex,final,overall:分别表示平时成绩、实验成绩、期末考试和总评成绩。charname[15]:学生姓名。(2)公有成员函数voidinit(char*name1,intnor1,6、intex1,intfin1):用参数name1,nor1,exp1,fin1分别初始化成员name,norm,ex,final。voidfun():计算学生的总评成绩。计算方法为:总评成绩=平时成绩占*20%+实验成绩占*25%+期末成绩占*55%。总评成绩计算时要求四舍五入,并且期末考试成绩不足50分时,则期末考试成绩即为总评成绩。friendvoidsort(STUst[],intn):友元函数,对st按总评成绩进行从大到小排序。voidprint():输出该学生信息。(3)在主函数中先定义一个有5个元素的对象数组,用循环语句输入学生信息,并根据这些信息利用7、成员函数init()更新学生信息,然后使用函数sort()对数组排序,最后输出排序后的学生信息。输入/输出示例(下划线部分为键盘输入):请输入姓名、平时成绩、实验成绩、期末成绩:AAA827558请输入姓名、平时成绩、实验成绩、期末成绩:BBB936084请输入姓名、平时成绩、实验成绩、期末成绩:CCC678281请输入姓名、平时成绩、实验成绩、期末成绩:DDD547851请输入姓名、平时成绩、实验成绩、期末成绩:EEE915241按总评成绩排序后:姓名平时成绩实验成绩期末成绩总评成绩BBB93608480CCC67828178AAA82755867DDD54788、5158E
3、or(intj=0;j<4;j++)t[i][j]=b[i][j]; }};④数据成员是一维字符数组,可以用字符串拷贝函数strcpy,将形参字符数组中的字符串,初始化字符数组成员。#include#includeclassA{chart[100];public:A(charb[]){ strcpy(t,b); }};⑤数据成员是字符类型指针变量,先用new动态申请长度为[形参指针指向的字符串长度+1]的内存空间,把返回的首地址赋给指针成员,再把形参指向字符串拷贝到动态数组中。#include#
4、includeclassA{char*s;public:A(char*b){if(b){s=newchar[strlen(b)+1];strcpy(s,b);}}};⑥数据成员是数值类型指针变量,先用new动态申请长度为[形参数组长度]的内存空间,把返回的首地址初始化指针成员,再把形参数组元素循环赋给动态数组元素。#includeclassA{int*s;public:A(intb[10]){s=newint[10];inti;for(i=0;i<10;i++)s[i]=b[i];}};编程的基本类型题分析:一、学生成绩
5、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,对学生学期总评成绩进行计算并排序。具体要求如下:(1)私有数据成员intnorm,ex,final,overall:分别表示平时成绩、实验成绩、期末考试和总评成绩。charname[15]:学生姓名。(2)公有成员函数voidinit(char*name1,intnor1,
6、intex1,intfin1):用参数name1,nor1,exp1,fin1分别初始化成员name,norm,ex,final。voidfun():计算学生的总评成绩。计算方法为:总评成绩=平时成绩占*20%+实验成绩占*25%+期末成绩占*55%。总评成绩计算时要求四舍五入,并且期末考试成绩不足50分时,则期末考试成绩即为总评成绩。friendvoidsort(STUst[],intn):友元函数,对st按总评成绩进行从大到小排序。voidprint():输出该学生信息。(3)在主函数中先定义一个有5个元素的对象数组,用循环语句输入学生信息,并根据这些信息利用
7、成员函数init()更新学生信息,然后使用函数sort()对数组排序,最后输出排序后的学生信息。输入/输出示例(下划线部分为键盘输入):请输入姓名、平时成绩、实验成绩、期末成绩:AAA827558请输入姓名、平时成绩、实验成绩、期末成绩:BBB936084请输入姓名、平时成绩、实验成绩、期末成绩:CCC678281请输入姓名、平时成绩、实验成绩、期末成绩:DDD547851请输入姓名、平时成绩、实验成绩、期末成绩:EEE915241按总评成绩排序后:姓名平时成绩实验成绩期末成绩总评成绩BBB93608480CCC67828178AAA82755867DDD5478
8、5158E
此文档下载收益归作者所有