《C++语言程序设计》自检自测题三及答案Word文档格式.docx
- 文档编号:16754425
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:13
- 大小:17.62KB
《C++语言程序设计》自检自测题三及答案Word文档格式.docx
《《C++语言程序设计》自检自测题三及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《《C++语言程序设计》自检自测题三及答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
j<
4;
j++)
if(a[i][j]>
m){m=a[i][j];
ii=i;
jj=j;
cout<
ii<
jj<
a[ii][jj]<
4.
inta=10,b=15;
a<
b<
{a*=3;
intb=a+20;
}
5.
iomanip.h>
intx=20,y=40,*p;
p=&
x;
*p<
’’;
*p=x+10;
p=&
y;
*p=y+20;
x<
y<
6.
voidSB(charch){
switch(ch){
case’A’:
case’a’:
”well!
”;
break;
case’B’:
case’b’:
”good!
case’C’:
case’c’:
”pass!
default:
”bad!
chara[6]=”Abcaf”;
a[i];
i++)SB(a[i]);
7.
inta[8]={36,25,48,14,55,40,72,40};
intb1,b2;
b1=b2=a[0];
for(inti=1;
if(a[i]>
b1){
if(b1>
b2)b2=b1;
b1=a[i];
b1<
b2<
8.
inta[8]={3,5,7,9,11,13,15,17};
int*p=1;
i++){
setw(5)<
*p++;
if((i+1)%3==0)cout<
9.
voidLG(int*&
a,int&
m){
a=newint[m];
int*p=a;
m;
*p++=i*i;
int*b,n=5;
LG(b,n);
n;
b[n-i-1]<
delete[]b;
10.
string.h>
structWorker{
charname[5];
//姓名
intage;
//年龄
floatpay;
//工资
};
Workerx;
char*t=”WeiRong”;
intd=45;
floatf=1235;
strcpy(x.name,t);
x.age=d;
x.pay=f;
x.name<
x.age<
x.pay<
11.
ints=0;
=5;
s+=i*i;
”s=”<
s<
12.
;
if(s>
50)break;
if(i%2==0)s+=i;
”i,s=”<
”,”<
13.
intLB(int*a,intn){
ints=1;
s*=*a++;
returns;
inta[]={1,2,3,4,5,6,7,8};
LB(a,5)<
’’<
LB(&
a[3],3)<
’’;
LB(a+2,4)<
14.
charname[15];
Workerx{“wangfong”,43,640};
Workery,*p;
y=x;
y.name<
y.age<
y.pay<
p->
name<
age*2<
pay+100<
二、写出下列每个函数的功能
intS(inta,intb){
if(a>
b)return1;
elseif(a==b)return0;
elsereturn-1;
math.h>
boolSG(intx){//x为大于等于2的整数
inta=int(sqrt(x));
//取x的平方根
inti=2;
while(i<
=a){
if(x%i==0)break;
i++;
if(i<
=a)return0;
elsereturn1;
//structWorker{
//charname[15];
//intage;
//floatpay;
voidQ(Workera[],intn){
cin>
>
a[i].name>
a[i].age>
a[i].pay;
fstream.h>
voidJD(char*fname)
//可把以fname所指字符串作为文件标识符的文件称为fname文件
//假定该文件保存着一批整数
{
ifstreamfin(fname,ios:
:
in|ios:
nocreate\ios:
binary)
intx,s=0,n=0;
while(fin.read((char*)&
x,sizeof(x))){
s+=x;
n++;
n<
float(s)/n<
fin.close();
5.
floatFI(intn){
//n为大于等于1的整数
floatx,y=0;
do{
n--;
y+=x*x;
}while(n>
0);
returny;
voidWA(inta[],intn){
n-1;
intk=i;
for(intj=i+1;
if(a[j]<
a[k])k=j;
intx=a[i];
a[i]=a[k];
a[k]=x;
voidLI(intn){
int*a=newint[n];
i++)cin>
for(i=n-1;
i>
=0;
i--)cout<
*(a+i)<
’\n’;
delete[]a;
voidJA(char*fname)
ofstreamfout(fname);
chara[20];
a;
while(strcmp(a,”end”)!
=0){
fout<
fout.close();
intWC(inta[],intn,intk){
intc=0;
=k)c++;
returnc;
int*LJ(inta[],intn){
intk=0;
a[k])k=i;
return&
a[k];
//structDNode{
//doubledata;
//值域
//DNode*next;
//指针域
//};
voidQB(DNode*&
f,intn){
if(n==0){f=NULL;
return;
f=newDNode;
f->
data;
DNode*p=f;
while(--n){
p=p->
next=newDNode;
p->
next=NULL;
intJB(char*fname,char*key)
//可把以fname所指字符串作为文件标识符的文件称为fname文件,
//假定该文件中保存着一批字符串,每个字符串的长度均小于20。
ifstreamfin(fname);
inti=0;
while(fin>
a)
if(strcmp(a,key)==0)i++;
returnI;
三、编程
1.已知6≤a≤30,15≤b≤36,编一程序求出满足不定方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解。
2.编写一个递归函数intFF(inta[],intn),求出数组a中所有n个元素的平方之和并返回。
3.编写一个函数voidSelectSort(inta[],intn),采用选择排序的方法按升序排列数组a中的n个元素。
参考答案
1.2520
2.52
3.2120
4.1015
3050
3015
5.2040
3060
6.well!
good!
pass!
well!
bad!
7.7255
8.357
91113
1517
9.169410
10.WeiRong451235
11.s=55
12.i,s=15,56
13.120120360
14.wangfong43640
wangfong86740
1.比较两个整数a和b的大小,若a>
b则返回1,若a==b则返回0,若a<
b则返回-1。
2.判断x是否为一个质数,若是则返回1,否则返回0。
3.从键盘输入n个Worker类型的记录到一维数组a中。
4.从二进制文件中输入所有整数,计算并显示出所有整数的个数、总和与平均值。
5.求出从键盘上输入的n个整数的平方和并返回。
6.采用选择排序的方法对数组a中的n个整数按照从小到大的次序重新排列。
7.把从键盘上输入的n个整数按与输入的相反次序显示出来。
8.从键盘上输入一组字符串到fname文件中,直到输入标志结束的字符串“end”为止。
9.统计出数组a中大于等于值为k的元素个数并返回。
10.求出数组a中n个元素的最大值元素,返回该元素的地址。
11.建立一个具有n个结点的链表,每个结点的实数值由键盘输入,链表的表头指针由引用变量f带回。
12.求出字符串文件fname中保存的所有字符串中与给定字符串key相等的字符串个数并返回。
voidmain()
inta,b;
for(a=6;
=30;
a++)
for(b=15;
=36;
b++)
if(2*a+5*b==126)cout<
’(‘<
’,’<
’)’<
intFF(inta[],intn)
if(n==1)returna[n-1]*a[n-1];
elsereturna[n-1]*a[n-1]+FF(a,n-1);
voidSelectSort(inta[],intn)
inti,j,k;
for(i=1;
k=i-1;
for(j=i;
intx=a[i-1];
a[i-1]=a[k];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+语言程序设计 C+ 语言程序设计 自检 自测 答案