/**********End**********/
}
Num6:
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
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(intscore[],intm,intbelow[]){
inti,k=0;
floatsum=0,aver=0;
for(i=0;isum+=score[i];
aver=(float)sum/m;
for(i=0;iif(score[i]{
below[k]=score[i];
k++;
}
return(--k);
}
满分答案:
intchoose(int*s,intn,int*b){
floatt=0,avg;
inti,j=0;
for(i=0;iavg=t/n;
for(i=0;ireturnj;}
/**********End**********/
voidmain(void)
{
constintN=10;
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;icout<}
Num7:
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
定义一个人员类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**********/
char*Person:
:
getName(void){returnname;}
doublePerson:
:
getAllowance(void){returnallowance;}
voidPerson:
:
set(char*n,doublea){
strcpy(name,n);allowance=a;}
Person:
:
Person(char*n,doublea){
strcpy(name,n);allowance=a;}
Person:
:
Person(Person&p){
strcpy(name,p.name);allowance=p.allowance;
}
/**********End**********/
voiddisplay(Personp)
{
cout<<"姓名="<
cout<<"助学金="<
}
voidmain(void)
{
Persons1("王海",310);
Persons2=s1;
s2.set("张大山",200);
display(s1);
display(s2);
}
Num8:
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
输入一个字符串,把其中的字符按逆序输出,如输入light,输出thgil.
输出结果见图:
样张.JPG
-------------------------------------------------------*/
#include
#include
usingnamespacestd;
voidmain()
{
charc,str[]="light";
inti,length;
/**********Program**********/
for(i=0,length=0;str[i]!
='\0';i++)
length++;
for(i=length;i>(length/2);i--)
{c=str[i];
str[i]=str[length-i-1];
str[length-i-1]=c;}
/**********End**********/
cout<}
Num9:
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
编写程序求解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**********/
inti;
leading=0;
minor=0;
for(i=0;i<5;i++)
leading+=a[i][i];
for(i=0;i<5;i++)
minor+=a[i][M-i-1];
/**********End**********/
cout<<"主对角线上元素之和="<cout<<"次对角线上元素之和="<}
Num10:
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:
定义一个描述学生基本情况的类,数据成员包括姓名、学号、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();
};
doublemain(){
Students("John",1,90,80,97);
s.sum_source();
s.avg_source();
return0;
}
/**********Program**********/
Student:
:
Student(char*p,inti,intc,inte,intm):
id(i),cpp_source(c),eng_source(e),math_source(m){strcpy(name,p);}
/**********End**********/
voidStudent:
:
sum_source(){
cout<"<}
voidStudent:
:
avg_source(){
doubleavg;
avg=(cpp_source+eng_source+math_source)/3.0;
cout<<"Theavgofsource:
"<}
Num11:
Num12: