/**********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;iave=sum/n;
intnum=0;
for(i=0;iif(*(Score+i)num++;
*(Below+i)=*(Score+i);}
elsecontinue;
}
intj=0;
for(i=0;iif(*(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;icout<}
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;istr[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;ifor(i=0;i/**********End**********/
cout<<"主对角线上元素之和="<cout<<"次对角线上元素之和="<}