C++练习题.docx

上传人:b****6 文档编号:5961800 上传时间:2023-01-02 格式:DOCX 页数:12 大小:22.16KB
下载 相关 举报
C++练习题.docx_第1页
第1页 / 共12页
C++练习题.docx_第2页
第2页 / 共12页
C++练习题.docx_第3页
第3页 / 共12页
C++练习题.docx_第4页
第4页 / 共12页
C++练习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C++练习题.docx

《C++练习题.docx》由会员分享,可在线阅读,更多相关《C++练习题.docx(12页珍藏版)》请在冰豆网上搜索。

C++练习题.docx

C++练习题

C++程序练习题

1:

试用for循环在屏幕上显示一个有字符‘X’组成的金字塔。

如下图:

X

XXX

XXXXX

XXXXXXX

XXXXXXXXX

代码:

#include

usingnamespacestd;

voidmain()

{

intn,i,j,k;

charm;

while

(1)

{

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

";

cin>>m;

cout<<"请输入层数:

";

cin>>n;

for(i=1;i<=n;i++)//i用来控制行数

{

for(j=n-i;j>=0;j--)//j用来控制空格个数

cout<<"";

for(k=1;k<=2*i-1;k++)//k可用来控制字符的输出个数

cout<

cout<

}

cout<

}

}

2:

假设你要请6个人吃饭,但是你只有4个座位,那么客人们字啊桌子傍边有多少种坐法呢?

有排列组合,我们知道一共有6*5*4*3=360钟,请编程实现,任意数目的客人坐任意数目的椅子的排列数;

代码:

#include

usingnamespacestd;

voidmain()

{

intm,n;//m客人数,n椅子数

while

(1)

{

cout<<"请输入客人数:

";

cin>>m;

cout<<"请输入椅子数:

";

cin>>n;

for(ints=1,i=m;i>m-n;i--)//s表示坐法,赋初值,i控制

{

s*=i;

}

cout<

}

}

3:

是编写一个程序,计算当以固定利息存入一定钱款时,若干年后得到的本息和;

请输入存款:

3000

请输入存期:

10(年)

请输入年利息:

5.5(变成重要实现5.5%)

本金为3000,年利息为5.5%,在存放10年后的本息和为5124.43.

代码:

#include

usingnamespacestd;

voidmain()

{

doublem,a,s=0;

intn,i;

while

(1)

{

cout<<"请输入存款:

";

cin>>m;

cout<<"请输入存期:

";

cin>>n;

cout<<"请输入年利息:

";

cin>>a;

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

{

m=m*(1+a/100);

}

s+=m;

cout<<"本金为"<

}

}

4:

试编写一个温度转换程序,程序首先向用户提供两个选项:

按1,从华氏转向摄氏温度;按2,从摄氏转向华氏;

公式:

摄氏温度c,将其转化为华氏温度f,转换公式为:

f=c*9/5+32。

代码:

#include

#include

usingnamespacestd;

voidf_to_c()

{

doublef,c;

cout<<"|-请输入一个华氏温度:

";

cin>>f;

c=5*(f-32)/9;

cout<<"华氏温度"<

"<

cout<<"|-----------------------------------|"<

}

voidc_to_f()

{

doublef,c;

cout<<"|-请输入一个摄氏温度:

";

cin>>c;

f=c*9/5+32;

cout<<"|-摄氏温度"<

"<

cout<<"|-----------------------------------|"<

}

voidmenu()

{

cout<

cout<<"|------------温度转换器-------------|"<

cout<<"-------------------------------------"<

cout<<"|1:

华氏温度转换成摄氏温度|"<

cout<<"||"<

cout<<"|2:

摄氏温度转换成华氏温度|"<

cout<<"-------------------------------------"<

cout<<"|-请输入你的选择(1/2):

";

}

voidmain()

{

system("color0a");

system("modecon:

cols=100lines=30");

chari;

while

(1)

{

menu();

cin>>i;

switch(i)

{

case'1':

f_to_c();break;

case'2':

c_to_f();break;

default:

cout<<"输入有误,请重新输入!

"<

break;

}

}

}

6:

连续输入几个整数,以用户输入9999结束输入,求输入的整数的平局值;

请输入:

1

请输入:

2

请输入:

3

请输入:

9999

其平均值为:

2

代码:

#include

usingnamespacestd;

voidmain()

{

intx,i=0;

floats=0,ave;

cout<<"请输入:

";

cin>>x;

while(x!

=9999)

{

s=s+x;

i++;

cout<<"请输入:

";

cin>>x;

}

if(i!

=0)

ave=s/i;

else

ave=0;

cout<<"其平均值为:

"<

}

7:

编写程序:

用一张一百元票换1元、5元、10元(至少各一张),问有几种换法?

每种换法中1元、5元、10元的票各几张?

代码:

#include

usingnamespacestd;

voidmain()

{

inti,j,k;

intcount=0;

cout<<"100元可兑换:

"<

for(i=1;i<86;i++)

{

for(j=1;j<14;j++)

{

for(k=1;k<9;k++)

{

if(1*i+5*j+10*k==100)

{

cout<<"一元:

"<

cout<<"五元元:

"<

cout<<"十元:

"<

cout<

}

}

}

count++;

}

cout<<"共有"<

";

cout<

}

8:

编写程序:

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个。

第二天将剩下的桃子吃掉一半,又多吃了一个。

以后每天都吃了前一天剩下的一半零一个。

到第10天想再吃时,见之剩下一个桃子了。

求第一天摘了多少桃子?

并将每天的桃子数打印出来。

(提示:

采取逆向思维的方法,从后往前推断。

代码1(递归):

#include

usingnamespacestd;

intpeach_amount(intx,inty)

{

if(y>=10)

return1;

else

return2*peach_amount(x,++y)+2;

}

voidmain()

{

inta=0,sum=0;

sum=peach_amount(a,1);

cout<<"第一天有桃子总数为:

"<

for(intd=1;d<=10;d++)

{

a=peach_amount(a,d);

if(a!

=1)

{

cout<<"第"<

}

else

{

cout<<"第"<

}

}

}

代码2:

#include

usingnamespacestd;

voidmain()

{

intday,n=1;

cout<<"请输入天数:

";

cin>>day;

if(day==day)

cout<<"第"<

while(day-->1)

{

n=(n+1)*2;//第1天的桃子数是第2天桃子数加1后的2倍

cout<<"第"<

}

}

9.编写程序:

输出职工信息,建立一个职工人数不超过5的信息表,职工的信息包括:

编号、姓名、工作部门和工资,最后分行打印出全部职工的信息。

代码:

#include

usingnamespacestd;

voidmain()

{

inti,a[5],b[5],c[5],d[3];

for(i=0;i<3;i++)

{

cout<<"请输入:

"<

cout<<"name:

";

cin>>a[i];

cout<<"num:

";

cin>>b[i];

cout<<"bumen:

";

cin>>c[i];

cout<<"sla:

";

cin>>d[i];

}

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

{

cout<<"name"<<""<<"num"<<""<<"bumen"<<""<<"sla"<

cout<

cout<

cout<

cout<

cout<

}

cout<

}

10:

按如下公式计算表达式的值(用递归实现):

代码:

#include

usingnamespacestd;

intf(intp)

{

intq=0;

if(p<0)

returnf(p);

if(p==1)

return1;

if(p==2)

return2;

else

returnf(p-1)+f(p-2);

}

voidmain()

{

intm,n;

while

(1)

{

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

";

cin>>m;

n=f(m);

cout<<"n="<

}

}

11:

今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍?

代码:

#include

usingnamespacestd;

voidmain()

{

intx=30,y=6,i=0;

while

(1)

{

i++;

x++;

y++;

if(x==y*2)

break;

}

cout<

}

12:

两个乒乓球队进行比赛,各出3人。

甲队为A,B,C三人,乙队为X,Y,Z三人,已抽签决定比赛名单,有人向队员打听,听比赛的名单,A说他不和X比,C说他不和X,Z比,编写C程序找出3对赛手名单

输出示例

a-z

b-x

c-y

代码:

#include

usingnamespacestd;

voidmain()

{

chari,j,k;

for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

if(i!

=j)

for(k='x';k<='z';k++)

if(i!

=k&&j!

=k)

if(i!

='x'&&k!

='x'&&k!

='z')

{

cout<<"A--"<

cout<<"B--"<

cout<<"C--"<

}

}

13:

非零自然数,分解成若干连续自然数值和,15=1+2+3+4+5,15=4+5+6,15=7+8,6=1+2+3,3=1+2,123456789=11种16没有

输入一个整数:

15

分解成:

15=1+2+3+4+5

15=4+5+6

15=7+8

共有3种

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

当前位置:首页 > 自然科学

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

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