西安交大C++考前练习1.docx

上传人:b****5 文档编号:12395226 上传时间:2023-04-18 格式:DOCX 页数:14 大小:301.65KB
下载 相关 举报
西安交大C++考前练习1.docx_第1页
第1页 / 共14页
西安交大C++考前练习1.docx_第2页
第2页 / 共14页
西安交大C++考前练习1.docx_第3页
第3页 / 共14页
西安交大C++考前练习1.docx_第4页
第4页 / 共14页
西安交大C++考前练习1.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

西安交大C++考前练习1.docx

《西安交大C++考前练习1.docx》由会员分享,可在线阅读,更多相关《西安交大C++考前练习1.docx(14页珍藏版)》请在冰豆网上搜索。

西安交大C++考前练习1.docx

西安交大C++考前练习1

1、求100~999之间所有各位数字的立方和等于1099的整数。

假定求出三个符合要求的数A、B、C,则计算(A+B+C)/3。

并按下面格式输出:

(A+B+C)/3=结果值

编程要求和评分标准:

(20分)

(1)能正确取出百位、个位数字;(5分)

(2)能正确取出十位数字;(5分)

(3)循环结构,分支结构正确;(5分)

(4)输出格式正确。

(5分)

1.程序源代码

#include

#include

usingnamespacestd;

intmain()

{

intsum=0;

intk=0;

inta,b,c;

cout<<"(";

for(inti=100;i<1000;i++)

{

a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==1099)

{sum=sum+i;

cout<

k++;

}

}

cout<<"\b"<<")/"<

doubleaverage=sum/k;

cout<

return0;

}

}

2、2:

(20分)

定义5×5二维数组,找出第m行中元素的最大值,并输出最大值元素以及所在的列号。

找出第n列中元素的最小值,并输出最小值元素以及所在的行号。

(m和n均在1~5之间)

编程要求和评分标准:

(20分)

(1)数组定义及产生正确(5分)

(2)求最大值及列号功能正确(5分)

(3)求最小值及行号功能正确(5分)

(4)输出格式正确,格式如下:

(5分)

5×5数组为:

4587323454

5456767866

4678872343

1232445678

5566778899

输入m=2(即第3行),则程序输出:

第3行的最大值:

87,所在列号:

3

输入n=3(即第4列),则程序输出:

第4列的最小值:

23,所在行号:

3

程序源代码

#include

#include

usingnamespacestd;

intmain()

{

inta[5][5];

for(inti=0;i<5;i++)

{

for(intj=0;j<5;j++)

{

cin>>a[i][j];

}

}

for(inti=0;i<5;i++)

{

for(intj=0;j<5;j++)

{

cout<

}

cout<

}

intm,n;

cin>>m;

intmax1,m1;

max1=a[m][0];

m1=0;

for(inti=0;i<5;i++)

{

if(a[m][i]>max1)

{

max1=a[m][i];

m1=i;

}

}

cout<<"第"<

"<

"<

cin>>n;

intmin,n1;

min=a[0][n];

n1=0;

for(intj=0;j<5;j++)

{

if(a[j][n]

{

min=a[j][n];

n1=j;

}

}

cout<<"第"<

"<

"<

return0;

}

3、(必做题)第5章第18题(增加重载字符型)。

3:

(20分)

编写一个函数,将某个字符串中所有非字母和数字字符均用*替代。

例如:

字符串“Iamagentlman_18!

”,形成字符串为“I*am*a*gentlman*18*”其原型为:

char*mycode(char*string);

其中参数string为字符串,返回值为指向string的指针。

并编出主函数进行验证。

编程要求和评分标准:

(20分)

(1)子函数头设计正确;(5分)

(2)子函数功能正确;(5分)

(3)主函数调用的方法正确;(5分)

(4)输出结果正确;(5分)

#include

#include

usingnamespacestd;

char*mycode(char*string)

{

while(*string!

=0)

{

if(*string>='a'&&*string<='z')

*string=*string;

elseif(*string>='0'&&*string<='9')

*string=*string;

else

*string='*';

string++;

}

returnstring;

}

intmain()

{

charstr[50];

cout<<"请输入一段字符串:

"<<"";

cin.getline(str,50);

char*p;

p=str;

*mycode(p);

cout<<"转换后得字符串:

"<<"";

cout<

return0;

}

4、定义长方体类cuboid,应有两个构造函数(即cuboid()和cuboid(int,int,int))、计算体积函数、计算长方体总面积函数、运算符+重载函数(注意:

对应长宽高相加,仍然形成长方体),运算符==重载函数。

编程要求和评分标准:

(20分)

(1)给出满足要求的完整的长方体类的定义及其成员函数;(5分)

(2)+和==运算符重载函数编写正确;(5分)

(3)计算体积和总面积函数正确;(5分)

(4)编写主函数,测试输出正确(5分)

#include

#include

usingnamespacestd;

classcuboid

{

intlength,width,height;

public:

cuboid()

{

length=width=height=1;

}

cuboid(inta,intb,intc)

{

length=a;

width=b;

height=c;

}

intarea()

{return2*(length*width+length*height+width*height);}

intv()

{returnlength*width*height;}

cuboidoperator+(cuboid&c)

{

length=length+c.length;

width=width+c.width;

height=height+c.height;

return*this;

}

intoperator==(cuboid&a)

{

if(length==a.length&&width==a.width&&height==a.height)

return1;

else

return0;

}

voidshow()

{

cout<<"************************************************"<

cout<<"长、宽、高依次为:

"<

}

};

intmain()

{

cuboida(1,3,5);

cout<<"a的信息"<

a.show();

cuboidb(2,5,7);

cuboidc(1,3,5);

cout<<"输出判断结果:

"<<"";

if(a==b)

cout<<"a==b"<<"\t";

else

cout<<"a!

=b"<<"\t";

if(a==c)

cout<<"a==c"<<"\t";

else

cout<<"a!

=c"<<"\t";

cout<

cout<<"输出计算长方体的面积:

"<<"";

cout<

cout<<"输出计算长方体的体积:

"<<"";

cout<

cout<<"a+b后的信息:

"<

a+b;

a.show();

return0;

}

5、5:

(20分)

编写一个程序,可以读入一个数据文件s_data中以N×N二维数组排列的数据(N不小于3),将二维数组置逆,然后写入另一个文件t_data中。

假设s_data文件中数据如下:

45873234

54567678

46788723

12324456

则t_data文件中的数据如下:

45544612

87567832

32768744

34782356

编程要求和评分标准:

(20分)

(1)程序开始执行时提示:

“Pleaseinputfilename:

”,能正确输入文件名;(5分)

(2)文件打开和关闭正确;(5分)

(3)能正确读取文件数据;(5分)

(4)能正确产生输出文件。

(5分)

#include

#include

#include

#include

usingnamespacestd;

intmain()

{

charname[15];

ifstreamfin("F:

\\s-data.txt");

ofstreamfout;

cin>>name;

fout.open(name,ios:

:

app|ios:

:

out);

if(!

fin||!

fout)

{

cout<<"读取失败"<

return1;

}

intn;

inti=0;

inta[50];

while(fin)

{

fin>>n;

if(fin)

{

a[i]=n;

i++;

}

}

intj=sqrt(i);

intb[10][10];

for(intk=0;k

{

b[k/j][k%j]=a[k];

}

for(k=0;k

{

for(intm=0;m

fout<

fout<

}

fin.close();

fout.close();

return0;

}

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

当前位置:首页 > 工程科技 > 冶金矿山地质

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

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