c++基础练习题及解答细节全解.docx

上传人:b****4 文档编号:24229064 上传时间:2023-05-25 格式:DOCX 页数:36 大小:44KB
下载 相关 举报
c++基础练习题及解答细节全解.docx_第1页
第1页 / 共36页
c++基础练习题及解答细节全解.docx_第2页
第2页 / 共36页
c++基础练习题及解答细节全解.docx_第3页
第3页 / 共36页
c++基础练习题及解答细节全解.docx_第4页
第4页 / 共36页
c++基础练习题及解答细节全解.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

c++基础练习题及解答细节全解.docx

《c++基础练习题及解答细节全解.docx》由会员分享,可在线阅读,更多相关《c++基础练习题及解答细节全解.docx(36页珍藏版)》请在冰豆网上搜索。

c++基础练习题及解答细节全解.docx

c++基础练习题及解答细节全解

“C++程序设计”实验一简单的C++程序

1、编写简单的屏幕输出程序:

[过程]

①首先在资源管理器中,在用户盘(硬盘)创建自己的文件夹,例如可以以自己的学号为名建立文件夹。

②进入VisualC++开发环境,新建C++源文件,存放在上一步建立的文件夹中。

打开源文件编辑窗口,输入以下源代码:

#include

voidmain()

{

cout<<“……”;//省略号处是想要输出到屏幕上的内容,可以随意编辑。

}

③保存文件后单击“编译compile”按钮

(快捷键Ctrl+F7),在出现的对话框中单击“是”。

④若没有错误,继续单击“连接build”按钮

(快捷键F7)。

若没有错误则继续单击“执行execute”按钮

(快捷键Ctrl+F5),查看程序运行结果。

#include

voidmain()

{

cout<<“Hello:

-)\n”;//省略号处是想要输出到屏幕上的内容。

}

2、将两个数交换后输出。

[分析]交换两个数,一般方法是用一个中间变量,经过几次赋值实现。

#include

voidmain()

{

doublea,b,temp;

cout<<"请输入任意两个数(以空格间隔输入):

";//此语句是显示输入提示

cin>>a>>b;//此语句是将用户输入的两个数依次保存到a、b两个变量中

cout<<"a="<

temp=a;//此语句是将变量a的值赋给变量temp,“=”称为赋值号

……;//完成省略号处的语句,将变量b的值赋给变量a

……;//完成省略号处的语句,将变量temp的值赋给变量b

……;//完成省略号处的语句,再次输出变量的值,观察其值是否交换了

}

#include

voidmain()

{

doublea,b,temp;

cout<<"请输入任意两个数(以空格间隔输入):

";//此语句是显示输入提示

cin>>a>>b;//此语句是将用户输入的两个数依次保存到a、b两个变量中

cout<<"a="<

temp=a;//此语句是将变量a的值赋给变量temp,“=”称为赋值号

a=b;//完成省略号处的语句,将变量b的值赋给变量a

b=temp;//完成省略号处的语句,将变量temp的值赋给变量b

cout<<"a="<

}

3.使用cout对象,在输出窗口上显示如下的图形:

提示:

在C++的字符常量中,一个反斜线字符是‘\\’。

#include

voidmain()

{

cout<<"\t/***\\"<

cout<<"/*"<

cout<<"/*\t\tX\tX"<

cout<<"|*\t\tX\tX"<

cout<<"|*\tXXXXXXXXXXXXXX"<

cout<<"|*\t\tX\tX"<

cout<<"\\*\t\tX\tX"<

cout<<"\\*"<

cout<<"\t\\***/"<

}

4.根据注释补充下面的程序中省略号处的语句,运行程序,并理解其语句及输出的含义:

#include

voidmain()

{……;//定义一个整型变量a

……;//定义一个字符型变量b

b=‘a’;//给变量b赋值为字符‘a’

……;//将变量b的值赋给变量a

cout<<“a=”<

……;//输出变量b的值

}

#include

voidmain()

{inta;//定义一个整型变量a

charb;//定义一个字符型变量b

b='a';//给变量b赋值

a=b;//将变量b的值赋给变量a

cout<<"a="<

cout<<"b="<

}

实验二C++数据类型、操作符、表达式和语句

提示:

每题建立一个C++源文件。

当完成一个题目后,使用菜单“文件”—〉“关闭工作区”,再新建C++源文件做下一个题目。

1.在程序中定义整型变量x_int、双精度实数型变量y_double、字符型变量m_char和布尔型变量n_bool,并请用户输入x_int、y_double和m_char三个变量的值,之后给变量n_bool赋值为(m_char>x_int),输出并观察(x_int/y_double)、(y_double-m_char)以及n_bool的值,理解这些输出的含义。

例如:

输入111

#include

voidmain()

{

intx_int;

doubley_double;

charm_char;

booln_bool;

cout<<"请输入一个整数、一个实数和一个字符:

";

cin>>x_int>>y_double>>m_char;

n_bool=m_char>x_int;

cout<

cout<

}

3.编写程序:

根据用户输入的球的半径值,分别计算球的表面积、体积和质量,并输出计算结果。

[提示]假设用户输入的球的半径的单位是米,球的密度为7.8kg/m3,球的表面积的计算公式为

,球的体积的计算公式为

其中π的值使用3.14即可。

#include

voidmain()

{

constdoublepi=3.14,midu=7.8;

doublebanjing,bmianji,tiji,zhiliang;

cout<<"请输入球的半径值(米):

";

cin>>banjing;

bmianji=4*pi*banjing*banjing;

tiji=bmianji*banjing/3;

zhiliang=tiji*midu;

cout<<"该球的表面积为"<

<<"平方米,体积为"<

<<"立方米,质量为"<

\n";

}

4.让用户输入一个秒数,编程实现将它转换成小时、分钟、秒来表示。

例如输入7278秒,则输出:

2小时1分18秒。

#include

voidmain()

{

intzongm,shi,fen,miao;

cout<<"请输入一个秒数:

";

cin>>zongm;

if(zongm>0)

{

shi=zongm/3600;

fen=zongm%3600/60;

miao=zongm%60;

cout<

<

<

}

}

实验三分支选择语句的应用

提示:

每题建立一个C++源文件。

当完成一个题目后,使用菜单“文件”—〉“关闭工作空间”,再新建C++源文件做下一个题目。

1.用户输入两个整数x和y,问:

y是否是x的倍数?

编程输出回答“是”或“不是”。

#include

voidmain()

{

intx,y;

cout<<"pleaseinputxandy:

";

cin>>x>>y;

if(y%x==0)

cout<

\n";

else

cout<

\n";

}

2.编写程序求解如下分段函数。

#include

voidmain()

{

doublex,y;

cout<<"请输入自变量x的值:

";

cin>>x;

if(x<12)y=x*x-162;

elseif(x<=70)y=x+30;

elsey=100;

cout<<"y="<

}

3.单位编排活动小组,30岁及以下的分在第一组,40岁的分在第二组,50岁以上的分在第三组,其余年龄的分在第四组。

假设王五输入了自己的年龄,保存在变量age中,那么他应该分在第几组?

编程求解并输出答案。

#include

voidmain()

{

intage;

cout<<"请输入年龄:

";

cin>>age;

if(age>=20&&age<70)

{

if(age<=30)

cout<<"应分至第一组。

\n";

elseif(age==40)

cout<<"应分至第二组。

\n";

elseif(age>50)

cout<<"应分至第三组。

\n";

else

cout<<"应分至第四组。

\n";

}

else

cout<<"输入年龄不合理!

\n";

}

4.根据用户输入的整数(1~7代表星期一~星期日),编程输出星期这一天对应的英文或中文名称。

例如,用户输入3,则输出应显示为“Wednsday”或“星期三”。

#include

voidmain()

{

inta;

cout<<"请输入星期(1~7):

";

cin>>a;

switch(a){

case1:

cout<<"Monday\n";break;

case2:

cout<<"Tuesday\n";break;

case3:

cout<<"Wednesday\n";break;

case4:

cout<<"Thursday\n";break;

case5:

cout<<"Friday\n";break;

case6:

cout<<"Saturday\n";break;

case7:

cout<<"Sunday\n";break;

default:

cout<<"error\n";

}

}

5.已知标准体重的计算方法如下:

男性:

标准体重(kg)=身高(cm)-100

女性:

标准体重(kg)=身高(cm)-105

试编写程序,由用户输入其性别(‘m’代表男性,‘f’代表女性)和身高,程序计算并输出其标准体重。

#include

voidmain()

{

charxingbie;

intshengao,tizhong;

cout<<"请输入性别('m'代表男性,'f'代表女性):

";

cin>>xingbie;

if((xingbie=='m')||(xingbie=='f'))

{

cout<<"请输入身高(厘米):

";

cin>>shengao;

if(xingbie=='m')tizhong=shengao-105;

elsetizhong=shengao-100;

cout<<"标准体重为"<

\n";

}

}

6(选做).编程实现如下算术功能:

用户输入两个数字(可带小数)及一个算术操作符(’+’、’-‘、’*’或’/’),若输入的算术操作符不对,则输出提示信息(例如“无效的算术操作符,无法计算”),否则,即输出相应的算式及结果。

注意:

计算除法时,除数不能为0。

#include

voidmain()

{

doublea,b;

charc;

cout<<"请输入两个数字(可带小数)和一个操作符('+'、'-'、'*'或'/'):

";

cin>>a>>b>>c;

switch(c)

{

case'+':

cout<

case'-':

cout<

case'*':

cout<

case'/':

if(b!

=0)

cout<

\n";

break;

default:

cout<<"无效的算数操作符,无法计算!

\n";

}

}

实验四循环语句的应用

提示:

每题建立一个C++源文件。

当完成一个题目后,使用菜单“文件”—〉“关闭工作空间”,再新建C++源文件做下一个题目。

1.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?

(参考答案:

21年)

#include

voidmain()

{

doublechanzhi=200;

intnianshu=0;

while(chanzhi<=500)

{

nianshu++;

chanzhi*=1.045;

}

cout<<"经过"<

\n";

}

2.请在屏幕上显示N行如图所示的数值(即第i行为“i:

i2i3”),其中N是个常量,其值在程序运行之初确定。

(要求:

用for语句实现)

#include

voidmain()

{

constintN=10;

for(inti=1;i<=N;i++)

cout<

\t"<

}

3.编写循环程序,判断用户输入的一个数是正数还是负数,当输入的数大于0时,输出“正数”;输入的数小于0时,输出“负数”;输入的数为0时结束程序。

最后输出这些数相加的总和。

(要求:

用do-while语句实现)

#include

voidmain()

{

doublex;

do{

cout<<"请输入一个数:

";

cin>>x;

if(x>0)cout<<"正数\n";

elseif(x<0)cout<<"负数\n";

}while(x!

=0);

}

4.编程求解使不等式12+32+52+……+n2

其中limit可以定义为常量或定义为变量。

(实验数据:

limit=10时n=1;limit=100时n=7;limit=65535时n=71)

#include

voidmain()

{

intlimit;

cout<<"请输入limit=";

cin>>limit;

intn=1,s=0;

while(s

{

s+=n*n;

n+=2;

}

cout<<"使该不等式成立的最大n值为:

"<<(n-4)<

}

5(选做).请用户输入20个字符,编程实现将其中的小写字母转换为大写字母后输出。

例如,若用户输入“VkQK0Ms]\Q,mb/;lGa;q”,则应输出“VKQK0MS]\Q,MB/;lGA;Q”。

提示:

每一个英文字母的大写和小写的ASCII码相差32。

即,若字符型变量ch中是一个小写英文字母,则char(ch-32)即其对应的大写英文字母。

#include

voidmain()

{

charch;

inti;

cout<<"请输入20个字符:

";

i=0;

while(i<20)

{

cin>>ch;

if(ch>='a'&&ch<='z')cout<

elsecout<

i++;

}

cout<

}

6(选做).有20只猴子吃掉50个桃子,已知每只公猴能吃5个桃子、每只母猴能吃4个桃子、每只小猴能吃2个桃子,编程求出这20只猴子中可以有公猴、母猴、小猴各多少只。

(答案:

0515或2216)

#include

voidmain()

{

intgong,mu,xiao;

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

for(mu=0;mu<=12;mu++)

{

xiao=20-gong-mu;

if(5*gong+4*mu+2*xiao==50)

cout<<"公侯"<

}

实验五函数的概念及应用

1.编写一个函数doublef(doublex),求解如下分段函数。

提示:

求幂的数学函数是pow(x,y),求平方根的数学函数是sqrt(x)。

要使用这些数学函数,需要在文件开始添加预编译指令#include

#include

#include

doublef(double);

voidmain()

{

doublex;

x=-28;

cout<<"x="<

x=0;

cout<<"x="<

x=1;

cout<<"x="<

x=15;

cout<<"x="<

x=75;

cout<<"x="<

}

doublef(doublex)

{

doubley;

if(x<0)y=-62;

elseif(x<2)y=pow(x,5)-62;

elseif(x<38)y=x-32;

elsey=sqrt(x-2);

returny;

}

2.对任意给定的两个正整数m、n,求s=m!

+n!

要求先自定义一个C++函数,实现求一个正整数的阶乘,即doublejiecheng(intx),再在主函数中调用该自定义函数,根据用户输入的整数m和n,求出s的值。

#include

doublejiecheng(int);

voidmain()

{

intm,n;

cout<<"请输入两个正整数:

";

cin>>m>>n;

if(m>0&&n>0)

cout<

+"<

="<<(jiecheng(m)+jiecheng(n))<

else

cout<<"您输入的不是两个正整数!

\n";

}

doublejiecheng(intn)

{

doubles=1;

for(inti=1;i<=n;i++)

s*=i;

returns;

}

3.编写一个函数boolsxh(intn),判断一个3位正整数是否是水仙花数,若是返回true,否则返回false。

并在主函数中使用该函数找出所有的水仙花数打印在屏幕上。

说明:

若一个3位正整数的各位数字的立方和等于这个整数,则称之为“水仙花数”。

例如:

153是水仙花数,因为153=1*1*1+5*5*5+3*3*3。

#include

boolsxh(int);

voidmain()

{

cout<<"水仙花数:

\n";

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

if(sxh(i))cout<

cout<

}

boolsxh(intn)

{

intge=n%10;

intshi=n/10%10;

intbai=n/100;

if(ge*ge*ge+shi*shi*shi+bai*bai*bai==n)

returntrue;

else

returnfalse;

}

4(选做).编程实现,在屏幕上输出如下所示由’X’组成的X形图案。

#include

voidmain()

{

constintLINE=9;

for(inti=1;i<=LINE;i++)

{

for(intj=1;j<=LINE;j++)

{

if(i==j||i==LINE+1-j)cout<<'X';

elsecout<<'';

}

cout<

}

}

5(选做).编写一个函数,实现在屏幕上打印出九九乘法表。

基本效果如下图1,同学们可自己作进一步的美化,如下图2。

图2

提示:

两层循环嵌套使用。

图1

#include

#include

voidfirst();

voidsecond();

voidmain()

{

cout<<"基本九九表:

\n\n";

first();

cout<

cout<<"改进后的九九表:

\n\n";

second();

cout<

}

//基本(图1)

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

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

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

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