5月份参加了自考北邮的C++程序设计实践上机考试。做了下实践环节考核指导上的三个程序题, 比较基础,现记录一下。
这三个题,我没有写太多的文字提示,有需要的可以自己加上。
再分享下我的考试,我是5月10日下午的考试,正好是周五上班时间,还得请假,差评。
下午到现场后感觉人没有想象的多,由于自己很久没考上机考试了,流程不太熟悉,所以导致刚开始时有点手忙脚乱。 其实大可不必慌张, 考的内容都不难,只要静下来就能答对。 还有要留出上传答案的时间,不要最后几分钟再上传,有可能手忙脚乱出错。
考试的第一题是百钱买百鸡,只需要找出错误运行出结果就行。我当时只关注语法上的错误,导致结果一直出不来,其实除了语法错误,算法也要稍微的理一下,错误其实挺明显的。
填空题也比较简单,不要被大段的代码吓到,代码中给出了填空的地方,有的会给出注释。
设计题类似第三题。
考试快结束时监考小姐姐说上传答案,删除磁盘上的答案,然后关机。
另监考小姐姐挺好看的
考试完后,看大家都在热聊,我比较害羞。咱也不认识,咱也不敢聊。 还是希望大家能多多交流,考试路上一个人还是有点孤单的。
下面是三个题供大家参考。
1.编写数组处理程序a3.cpp。请先定义整型数组对象,并从键盘上输入10个数据,然后求出其中的最大者和所有数据的总和。
要求:数据输入、求最大、求和都是这个对象的成员函数,并包含必要的主程序语句,使程序可以运行。
#include "stdafx.h"
#include "iostream.h"
// 函数声明
int getMax(int arr[], int size);
int getSum(int arr[], int size);
int main(int argc, char* argv[])
{
int a[10];
int max = 0;
int sum = 0;
for (int i=0;i<10;i++) {
cin >> a[i];
}
max = getMax(a,10);
sum = getSum(a,10);
cout << "最大值为" << max << endl;
cout << "数组总和为" << sum << endl;
return 0;
}
int getMax(int arr[], int size)
{
int max = arr[0];
for (int j=0;j max) {
max = arr[j];
}
}
return max;
}
int getSum(int arr[], int size){
int sum = 0;
for (int j=0;j
2. 请编写程序b3.cpp,定义三角形(Triangle)类,能够判定输入的三个整数能否构成三角形,并可以求出三角形的面积和周长。
要求:三角形的三条边长是三角形对象的私有成员变量,求面积、周长和判定能否构成三角形是该对象的成员函数。
#include "stdafx.h"
#include "iostream.h"
#include "math.h"
class Triangle {
public:
int a,b,c;
public:
bool isTriangle(void);
int getSum(void);
double getArge(void);
};
bool Triangle::isTriangle(void){
if (a+b>c&&a+c>b&&c+b>a) {
return true;
} else {
return false;
}
}
int Triangle::getSum(){
return a + b + c;
}
double Triangle::getArge(){
double m,s;
m=(a+b+c)/2;
s=sqrt(m*(m-a)*(m-b)*(m-c));
return s;
}
int main(int argc, char* argv[])
{
Triangle t;
cin >> t.a >> t.b >> t.c ;
bool isT = t.isTriangle();
if (isT) {
cout << "是三角形" << endl;
cout << "三角形的边长是" << t.a << " " << t.b << " " << t.c << endl;
double arge = t.getArge();
cout << "三角形的面积是" << arge <
3. 请编写程序c3.cpp,定义学生(student)类,其私有成员变量有学号(no),姓名(xm),性别(xb),品德成绩(pdcj)、考试平均成绩(kscj)、体育成绩(tycj)。如果每个成绩都在85分以上的同学是三好学生。请输入10名学生的情况,先判断每位同学是否为三好学生,然后计算每个学生的平均成绩。
要求:求同学的平均成绩和判定三好学生的功能是学生对象的公共成员函数。
#include "stdafx.h"
#include
#include
using namespace std;
class Student{
private:
int no;
string xm;
string xb;
float pdcj;
float kscj;
float tycj;
public:
bool isSHstudent();
float getPjcj();
void setNo(int n){no=n;}
void setXm(string x){xm=x;}
void setXb(string b){xb=b;}
void setPdcj(int p){pdcj=p;}
void setKscj(int k){kscj=k;}
void setTycj(int t){tycj=t;}
int getNo(){return no;}
string getXm(){return xm;}
string getXb(){return xb;}
float getPdcj(){return pdcj;}
float getKscj(){return kscj;}
float getTycj(){return tycj;}
};
bool Student::isSHstudent(void){
if (pdcj>85&&kscj>85&&tycj>85) {
return true;
}
return false;
}
float Student::getPjcj(){
return (pdcj+kscj+tycj)/3;
}
int main(int argc, char* argv[])
{
int no;
string xm;
string xb;
float pdcj;
float kscj;
float tycj;
Student s[5];
for (int i=0;i<5;i++) {
cin >> pdcj >> kscj >> tycj;
s[i].setPdcj(pdcj);
s[i].setKscj(kscj);
s[i].setTycj(tycj);
bool isSanhao = s[i].isSHstudent();
float pjcj = s[i].getPjcj();
if (isSanhao) {
cout << "该学生是三好生" << endl;
cout << "该学生的平均成绩是"<< pjcj << endl;
} else {
cout << "该学生不是三好生" << endl;
cout << "该学生的平均成绩是"<< pjcj << endl;
}
}
return 0;
}