华科第三次复习题编程题Word下载.docx
- 文档编号:17869166
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:15
- 大小:18.57KB
华科第三次复习题编程题Word下载.docx
《华科第三次复习题编程题Word下载.docx》由会员分享,可在线阅读,更多相关《华科第三次复习题编程题Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
}
elsecontinue;
}
temp=a[0];
a[0]=a[j];
a[j]=temp;
交换后数组"
endl;
a[i]<
'
\t'
/**********End**********/
2
定义一个函数min,求数组(34,91,83,56,29,93,56,12,88,72)中的
最小数和其下标,并在主函数中打印最小数和下标。
格式:
intmin(int*s,intn)
注意:
如有多个最小值,以最后一个为准。
intmin(int*s,intn){
inti,m,j=0;
i++)
{
m=s[0];
if(m>
=s[i]){m=s[i];
elsecontinue;
returnj;
voidmain(void)
{
intpos;
ints[10]={34,12,83,56,29,93,56,12,88,72};
pos=min(s,10);
最小值="
s[pos]<
位置="
pos+1<
3
/*-------------------------------------------------------
定义一商品类,包括商品名称、数量,单价,总价值数据成员,及相关函数成员,类已定义完成,
请完成相关函数成员的定义,使其能按要求输入输出相关信息。
classCGoods{
private:
charName[21];
intAmount;
doubleTotal_value;
floatPrice;
public:
voidRegisterGoods(char[],int,float);
//输入数据
voidCountTotal();
//计算商品总价值
char*GetName();
//读取商品名
intGetAmount();
//读取商品数量
floatGetPrice();
//读取商品单价
floatGetTotal_value();
//读取商品总价值
};
voidCGoods:
:
RegisterGoods(charname[],intamount,floatprice){
inti=0;
while(name[i]!
=0){Name[i]=name[i];
i++;
Name[i]='
\0'
Amount=amount;
Price=price;
CountTotal(){Total_value=Amount*Price;
char*CGoods:
GetName(){
returnName;
intCGoods:
GetAmount(){
returnAmount;
floatCGoods:
GetPrice(){
returnPrice;
GetTotal_value(){
returnTotal_value;
voidmain()
{CGoodscar;
charstr[21];
intnum;
floatprice;
str>
num>
price;
car.RegisterGoods(str,num,price);
car.CountTotal();
商品信息如下:
商品名称:
car.GetName()<
商品数量:
car.GetAmount()<
商品价格:
car.GetPrice()<
商品总金额:
car.GetTotal_value()<
4未完成
输入一个16进制数,将其转换为10进制数
#include<
cstring>
chardata16[4]="
A7"
intdata10=0,d;
inti;
/**********Program**********/
inta[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
for(i=0;
4;
i++){if(data16[i]='
)break;
d=1;
intk=0;
intj=0;
intl;
for(;
k<
i;
k++){
j<
(i-1);
j++){
switch(data16[i]){
case'
0'
:
l=0;
break;
1'
l=1;
2'
l=2;
3'
l=3;
4'
l=4;
5'
l=5;
6'
l=6;
7'
l=7;
8'
l=8;
9'
l=9;
A'
l=10;
B'
l=11;
C'
l=12;
D'
l=13;
E'
l=14;
F'
l=15;
}
d=l*16;
data10+=d;
/*inti=0;
do{
switch(data16[i])
{
caseA:
}*/
/**********End**********/
data10<
5【程序设计】
有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,
而且仍然保持有序,同时输出新的数列。
inti,n,j;
inta[11]={10,20,30,40,50,60,70,80,90,100};
'
输入插入数\n"
n;
for(i=9;
i>
=0;
i--)
{
if(a[i]>
n)a[i+1]=a[i];
elsebreak;
}
a[i+1]=n;
插入后的数组"
\n'
=10;
6
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:
将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
例如,但score数组的数据为10、20、30、40、50、60、70、80、90时,
函数返回的人数应该时4,below中的数据应为10、20、30、40。
intchoose(int*Score,intn,int*Below){
doublesum=0,ave;
i++){sum+=*(Score+i);
ave=sum/n;
intnum=0;
if(*(Score+i)<
ave){
num++;
*(Below+i)=*(Score+i);
elsecontinue;
if(*(Below+i)>
=0){*(Below+j)=*(Below+i);
j++;
returnnum;
constintN=9;
intscore[N]={10,20,30,40,50,60,70,80,90};
intbelow[N]={-1,-1,-1,-1,-1,-1,-1,-1,-1};
intnumber,i;
number=choose(score,N,below);
低于平均分的人数="
number<
低于平均分的分数="
number;
i++)cout<
below[i]<
"
7
定义一个人员类Person,包含一个字符数组name[12],
一个表示助学金allowance(double)的数据成员,二个分别获取姓名和助学金的
成员函数getName和getAllowance,还包含构造函数、复制构造函数和设置姓名
和助学金的函数set。
请补充完成Person类。
string>
classPerson
charname[12];
doubleallowance;
public:
Person(char*n,doublea);
Person(Person&
p);
char*getName(void);
doublegetAllowance(void);
voidset(char*n,doublea);
Person:
Person(char*n,doublea){
strcpy(name,n);
allowance=a;
p){
strcpy(name,p.name);
allowance=p.allowance;
char*Person:
getName(void){
returnname;
doublePerson:
getAllowance(void){
returnallowance;
voidPerson:
set(char*n,doublea){
strcpy(name,n);
voiddisplay(Personp)
姓名="
p.getName()<
\t"
助学金="
p.getAllowance()<
Persons1("
王大海"
210);
Persons2=s1;
s2.set("
张大山"
200);
display(s1);
display(s2);
8
定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++成绩、英语和数学成绩,
成员函数包括输出数据,求出总成绩和平均成绩。
classStudent{
private:
charname[20];
intid;
intcpp_source;
inteng_source;
intmath_source;
Student(char*,int,int,int,int);
voidsum_source();
voidavg_source();
intmain(){
Students("
John"
1,90,80,97);
s.sum_source();
s.avg_source();
return0;
}
Student:
Student(char*n,inti,intc,inte,intm){
id=i;
cpp_source=c;
eng_source=e;
math_source=m;
voidStudent:
sum_source(){
cout<
name<
Thesumofsource:
cpp_source+eng_source+math_source<
endl;
avg_source(){
doubleavg;
avg=(cpp_source+eng_source+math_source)/3.0;
Theavgofsource:
avg<
9
输入一个字符串,把其中的字符按逆序输出,如输入light,输出thgil.
charc,str[]="
light"
inti,length;
str[i]!
='
){i++;
length=i;
charS[1024];
strcpy(S,str);
length;
str[i]=S[length-1-i];
str<
10
编写程序求解M*M矩阵的两条对角线上的元素之和。
constintM=5;
intminor;
//主对角线上元素之和
intleading;
//次对角线上元素之和
inta[M][M]={
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
};
leading=0;
minor=0;
inti;
for(i=0;
M;
i++)leading+=a[i][i];
i++)minor+=a[M-1-i][i];
主对角线上元素之和="
leading<
次对角线上元素之和="
minor<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 科第 三次 复习题 编程