华科第三次复习题编程题.docx

上传人:b****4 文档编号:4915773 上传时间:2022-12-11 格式:DOCX 页数:15 大小:18.57KB
下载 相关 举报
华科第三次复习题编程题.docx_第1页
第1页 / 共15页
华科第三次复习题编程题.docx_第2页
第2页 / 共15页
华科第三次复习题编程题.docx_第3页
第3页 / 共15页
华科第三次复习题编程题.docx_第4页
第4页 / 共15页
华科第三次复习题编程题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

华科第三次复习题编程题.docx

《华科第三次复习题编程题.docx》由会员分享,可在线阅读,更多相关《华科第三次复习题编程题.docx(15页珍藏版)》请在冰豆网上搜索。

华科第三次复习题编程题.docx

华科第三次复习题编程题

1/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

有一个数组,内放10个整数,要求找出最小的数和它的下标,

然后把它和数组中最前面的元素对换。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

voidmain()

{

inta[10];

inti,min,j,temp;//min为最小值,j为最小值下标

cout<<"请输入10个数\n";

for(i=0;i<10;i++)

cin>>a[i];

/**********Program**********/

min=a[0];

j=0;

for(i=1;i<10;i++){

if(min>a[i]){min=a[i];j=i;}

elsecontinue;

}

temp=a[0];

a[0]=a[j];

a[j]=temp;

cout<<"交换后数组"<

for(i=0;i<10;i++)

cout<

/**********End**********/

}

2

题目:

定义一个函数min,求数组(34,91,83,56,29,93,56,12,88,72)中的

最小数和其下标,并在主函数中打印最小数和下标。

格式:

intmin(int*s,intn)

注意:

如有多个最小值,以最后一个为准。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

usingnamespacestd;

/**********Program**********/

intmin(int*s,intn){

inti,m,j=0;

for(i=1;i<10;i++)

{

m=s[0];

if(m>=s[i]){m=s[i];j=i;}

elsecontinue;

}

returnj;

}

/**********End**********/

voidmain(void)

{

intpos;

ints[10]={34,12,83,56,29,93,56,12,88,72};

pos=min(s,10);

cout<<"最小值="<

cout<<"位置="<

}

3

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

定义一商品类,包括商品名称、数量,单价,总价值数据成员,及相关函数成员,类已定义完成,

请完成相关函数成员的定义,使其能按要求输入输出相关信息。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

usingnamespacestd;

classCGoods{

private:

charName[21];

intAmount;

doubleTotal_value;

floatPrice;

public:

voidRegisterGoods(char[],int,float);//输入数据

voidCountTotal();//计算商品总价值

char*GetName();//读取商品名

intGetAmount();//读取商品数量

floatGetPrice();//读取商品单价

floatGetTotal_value();//读取商品总价值

};

/**********Program**********/

voidCGoods:

:

RegisterGoods(charname[],intamount,floatprice){

inti=0;

while(name[i]!

=0){Name[i]=name[i];i++;}

Name[i]='\0';

Amount=amount;

Price=price;

}

voidCGoods:

:

CountTotal(){Total_value=Amount*Price;}

char*CGoods:

:

GetName(){

returnName;

}

intCGoods:

:

GetAmount(){

returnAmount;

}

floatCGoods:

:

GetPrice(){

returnPrice;

}

floatCGoods:

:

GetTotal_value(){

returnTotal_value;

}

/**********End**********/

voidmain()

{CGoodscar;

charstr[21];

intnum;

floatprice;

cin>>str>>num>>price;

car.RegisterGoods(str,num,price);

car.CountTotal();

cout<<"商品信息如下:

"<

cout<<"商品名称:

"<

cout<<"商品数量:

"<

cout<<"商品价格:

"<

cout<<"商品总金额:

"<

}

4未完成

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

输入一个16进制数,将其转换为10进制数

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

voidmain()

{

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;i<4;i++){if(data16[i]='\0')break;}

d=1;

intk=0;

intj=0;

intl;

for(;k

for(;j<(i-1);j++){

switch(data16[i]){

case'0':

l=0;break;

case'1':

l=1;break;

case'2':

l=2;break;

case'3':

l=3;break;

case'4':

l=4;break;

case'5':

l=5;break;

case'6':

l=6;break;

case'7':

l=7;break;

case'8':

l=8;break;

case'9':

l=9;break;

case'A':

l=10;break;

case'B':

l=11;break;

case'C':

l=12;break;

case'D':

l=13;break;

case'E':

l=14;break;

case'F':

l=15;break;

}

d=l*16;}

data10+=d;}

/*inti=0;

do{

switch(data16[i])

{

caseA:

}

}*/

/**********End**********/

cout<

}

/*-------------------------------------------------------

5【程序设计】

---------------------------------------------------------

题目:

有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,

而且仍然保持有序,同时输出新的数列。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

voidmain()

{

inti,n,j;

inta[11]={10,20,30,40,50,60,70,80,90,100};

for(i=0;i<10;i++)

cout<

cout<

cout<<"输入插入数\n";

cin>>n;

/**********Program**********/

for(i=9;i>=0;i--)

{

if(a[i]>n)a[i+1]=a[i];

elsebreak;

}

a[i+1]=n;

cout<<"插入后的数组"<<'\n';

for(i=0;i<=10;i++)

cout<

cout<

/**********End**********/

}

6

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:

将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

例如,但score数组的数据为10、20、30、40、50、60、70、80、90时,

函数返回的人数应该时4,below中的数据应为10、20、30、40。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

usingnamespacestd;

/**********Program**********/

intchoose(int*Score,intn,int*Below){

doublesum=0,ave;

inti;

for(i=0;i

ave=sum/n;

intnum=0;

for(i=0;i

if(*(Score+i)

num++;

*(Below+i)=*(Score+i);}

elsecontinue;

}

intj=0;

for(i=0;i

if(*(Below+i)>=0){*(Below+j)=*(Below+i);j++;}

}

returnnum;

}

/**********End**********/

voidmain(void)

{

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);

cout<<"低于平均分的人数="<

cout<<"低于平均分的分数=";

for(i=0;i

cout<

}

7

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

定义一个人员类Person,包含一个字符数组name[12],

一个表示助学金allowance(double)的数据成员,二个分别获取姓名和助学金的

成员函数getName和getAllowance,还包含构造函数、复制构造函数和设置姓名

和助学金的函数set。

请补充完成Person类。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

classPerson

{

charname[12];

doubleallowance;

public:

Person(char*n,doublea);

Person(Person&p);

char*getName(void);

doublegetAllowance(void);

voidset(char*n,doublea);

};

/**********Program**********/

Person:

:

Person(char*n,doublea){

strcpy(name,n);

allowance=a;

}

Person:

:

Person(Person&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);

allowance=a;

}

/**********End**********/

voiddisplay(Personp)

{

cout<<"姓名="<

cout<<"助学金="<

}

voidmain(void)

{

Persons1("王大海",210);

Persons2=s1;

s2.set("张大山",200);

display(s1);

display(s2);

}

8

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++成绩、英语和数学成绩,

成员函数包括输出数据,求出总成绩和平均成绩。

请完成相关函数成员的定义,使其能按要求输入输出相关信息。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

classStudent{

private:

charname[20];

intid;

intcpp_source;

inteng_source;

intmath_source;

public:

Student(char*,int,int,int,int);

voidsum_source();

voidavg_source();

};

intmain(){

Students("John",1,90,80,97);

s.sum_source();

s.avg_source();

return0;

}

/**********Program**********/

Student:

:

Student(char*n,inti,intc,inte,intm){

strcpy(name,n);

id=i;

cpp_source=c;

eng_source=e;

math_source=m;

}

/**********End**********/

voidStudent:

:

sum_source(){

cout<

"<

}

voidStudent:

:

avg_source(){

doubleavg;

avg=(cpp_source+eng_source+math_source)/3.0;

cout<<"Theavgofsource:

"<

}

9

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

输入一个字符串,把其中的字符按逆序输出,如输入light,输出thgil.

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

#include

usingnamespacestd;

voidmain()

{

charc,str[]="light";

inti,length;

/**********Program**********/

for(i=0;str[i]!

='\0';){i++;}

length=i;

charS[1024];

strcpy(S,str);

for(i=0;i

str[i]=S[length-1-i];

}

/**********End**********/

cout<

}

10

/*-------------------------------------------------------

【程序设计】

---------------------------------------------------------

题目:

编写程序求解M*M矩阵的两条对角线上的元素之和。

输出结果见图:

样张.JPG

-------------------------------------------------------*/

#include

usingnamespacestd;

constintM=5;

voidmain(void)

{

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}

};

/**********Program**********/

leading=0;

minor=0;

inti;

for(i=0;i

for(i=0;i

/**********End**********/

cout<<"主对角线上元素之和="<

cout<<"次对角线上元素之和="<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1