C++编程作业
一、 编程题(共4小题,每小题10分,共40分)
1. 有一个健身房内部管理系统,请根据以下信息设计出能够表示会员账户信息的结构体,结构体名称为User。会员信息类型如下:
a) 用户身份证号码:英文符号为id,数据类型为字符串;
b) 账号:英文符号为card,数据类型为整型;
c) 用户姓名:英文符号为name,数据类型为字符串;
d) 用户地址:英文符号为address,数据类型为字符串;
e) 账户金额:英文符号为money,数据类型为整型。
答:
struct User {
char id[200];
int card[200];
char name[200];
char address[200];
int money[200];
};
2. 有一个学生成绩管理系统,请设计出能够表示学生信息的结构体,结构体名称为Student。学生信息类型如下:
f) 学号:英文符号为sno,数据类型为字符串;
g) 姓名:英文符号为sname,数据类型为字符串;
h) 性别:英文符号为sgender,数据类型为布尔型;
i) 年级:英文符号为syear,数据类型为整型;
答:
struct Student {
char sno[100];
char sname[100];
bool sgender;
int syear;
};
3. 设计两个函数,分别用于计算立方体的体积和表面积,函数名分别为calVolumn和calArea。要求边长以参数形式传入函数。立方体的边长为双精度浮点数。
答:
#include<iostream>
using namespacestd;
doublecalVolumn(double,double,double);
double calArea(double,double,double);
int main()
{
double volumn;
double area;
double l=2.0;
double w=3.0;
double h=4.0;
volumn = calVolumn(l,w,h);
area = calArea(l,w,h);
cout << "立方体体积=" << volumn<< endl << "立方体表面积" <<area;
}
doublecalVolumn(double l,double w,double h)
{
return l*w*h; //计算立方体体积
}
doublecalArea(double l,double w,double h)
{
return(l*w+l*h+w*h)*2; //计算立方体表面积
}
4. 给定一个非零整数,判断其是正数还是负数。(注:本题已提供一部分起始代码,请根据题意补充完整即可;无需任何输出结果。)
int number = 100; //给定的非零整数
boolean flag = true;// 是否为正数的标志。当该变量为true时,表示number为正数,否则为负数。
(请补充)
答:
bool main()
{
flag = number > 0;
}
二、 程序阅读题(共6小题,每小题10分,共60分)
#include<iostream>
usingnamespace std;
int main()
{
double n=5, r=3;
double t = n - r;
double result;
double result1 = 1;
double result2 = 1;
double result3 = 1;
for (; n > 0; n--) {
result1= result1 * n;
}
for (; r > 0; r--) {
result2= result2 * r;
}
for (; t > 0; t--) {
result3= result3 * t;
}
result =result1 / (result2 * result3);
cout<<"result = "<<result << endl;
}
1. 请写出上面这段代码的运行结果。
答:result= 10
2. 上面这段代码的功能是什么?
答:上述代码功能是求n!/(r!*(n-r)!),即表示从n个不同元素里取 r个元素的无序排列组合。
3. 如果将r赋值为4,上面这段代码的运行结果是什么。
答:result = 5
4. 如果将n赋值为4,上面这段代码的运行结果是什么。
答:result = 4
一、 编程题(共4小题,每小题10分,共40分)
1. 有一个健身房内部管理系统,请根据以下信息设计出能够表示会员账户信息的结构体,结构体名称为User。会员信息类型如下:
a) 用户身份证号码:英文符号为id,数据类型为字符串;
b) 账号:英文符号为card,数据类型为整型;
c) 用户姓名:英文符号为name,数据类型为字符串;
d) 用户地址:英文符号为address,数据类型为字符串;
e) 账户金额:英文符号为money,数据类型为整型。
答:
struct User {
char id[200];
int card[200];
char name[200];
char address[200];
int money[200];
};
2. 有一个学生成绩管理系统,请设计出能够表示学生信息的结构体,结构体名称为Student。学生信息类型如下:
f) 学号:英文符号为sno,数据类型为字符串;
g) 姓名:英文符号为sname,数据类型为字符串;
h) 性别:英文符号为sgender,数据类型为布尔型;
i) 年级:英文符号为syear,数据类型为整型;
答:
struct Student {
char sno[100];
char sname[100];
bool sgender;
int syear;
};
3. 设计两个函数,分别用于计算立方体的体积和表面积,函数名分别为calVolumn和calArea。要求边长以参数形式传入函数。立方体的边长为双精度浮点数。
答:
#include<iostream>
using namespacestd;
doublecalVolumn(double,double,double);
double calArea(double,double,double);
int main()
{
double volumn;
double area;
double l=2.0;
double w=3.0;
double h=4.0;
volumn = calVolumn(l,w,h);
area = calArea(l,w,h);
cout << "立方体体积=" << volumn<< endl << "立方体表面积" <<area;
}
doublecalVolumn(double l,double w,double h)
{
return l*w*h; //计算立方体体积
}
doublecalArea(double l,double w,double h)
{
return(l*w+l*h+w*h)*2; //计算立方体表面积
}
4. 给定一个非零整数,判断其是正数还是负数。(注:本题已提供一部分起始代码,请根据题意补充完整即可;无需任何输出结果。)
int number = 100; //给定的非零整数
boolean flag = true;// 是否为正数的标志。当该变量为true时,表示number为正数,否则为负数。
(请补充)
答:
bool main()
{
flag = number > 0;
}
二、 程序阅读题(共6小题,每小题10分,共60分)
#include<iostream>
usingnamespace std;
int main()
{
double n=5, r=3;
double t = n - r;
double result;
double result1 = 1;
double result2 = 1;
double result3 = 1;
for (; n > 0; n--) {
result1= result1 * n;
}
for (; r > 0; r--) {
result2= result2 * r;
}
for (; t > 0; t--) {
result3= result3 * t;
}
result =result1 / (result2 * result3);
cout<<"result = "<<result << endl;
}
1. 请写出上面这段代码的运行结果。
答:result= 10
2. 上面这段代码的功能是什么?
答:上述代码功能是求n!/(r!*(n-r)!),即表示从n个不同元素里取 r个元素的无序排列组合。
3. 如果将r赋值为4,上面这段代码的运行结果是什么。
答:result = 5
4. 如果将n赋值为4,上面这段代码的运行结果是什么。
答:result = 4






