C++练习题Word文档格式.docx
《C++练习题Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++练习题Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
i++)//i用来控制行数
{
for(j=n-i;
j>
=0;
j--)//j用来控制空格个数
cout<
"
for(k=1;
k<
=2*i-1;
k++)//k可用来控制字符的输出个数
cout<
endl;
}
cout<
}
}
2:
假设你要请6个人吃饭,但是你只有4个座位,那么客人们字啊桌子傍边有多少种坐法呢?
有排列组合,我们知道一共有6*5*4*3=360钟,请编程实现,任意数目的客人坐任意数目的椅子的排列数;
intm,n;
//m客人数,n椅子数
请输入客人数:
cin>
请输入椅子数:
for(ints=1,i=m;
i>
m-n;
i--)//s表示坐法,赋初值,i控制
s*=i;
m<
个客人做"
n<
个椅子一共有"
s<
种方法."
3:
是编写一个程序,计算当以固定利息存入一定钱款时,若干年后得到的本息和;
请输入存款:
3000
请输入存期:
10(年)
请输入年利息:
5.5(变成重要实现5.5%)
本金为3000,年利息为5.5%,在存放10年后的本息和为5124.43.
doublem,a,s=0;
intn,i;
请输入存款:
请输入存期:
请输入年利息:
a;
i++)
m=m*(1+a/100);
s+=m;
本金为"
年利息为"
a<
%"
在存放"
年后的本息和为"
4:
试编写一个温度转换程序,程序首先向用户提供两个选项:
按1,从华氏转向摄氏温度;
按2,从摄氏转向华氏;
公式:
摄氏温度c,将其转化为华氏温度f,转换公式为:
f=c*9/5+32。
#include<
windows.h>
voidf_to_c()
doublef,c;
|-请输入一个华氏温度:
f;
c=5*(f-32)/9;
华氏温度"
f<
转换成摄氏温度为:
c<
-|"
|-----------------------------------|"
voidc_to_f()
|-请输入一个摄氏温度:
c;
f=c*9/5+32;
|-摄氏温度"
转换成华氏温度为:
voidmenu()
|------------温度转换器-------------|"
-------------------------------------"
|1:
华氏温度转换成摄氏温度|"
||"
|2:
摄氏温度转换成华氏温度|"
|-请输入你的选择(1/2):
system("
color0a"
);
modecon:
cols=100lines=30"
chari;
menu();
i;
switch(i)
case'
1'
:
f_to_c();
break;
2'
c_to_f();
default:
输入有误,请重新输入!
break;
6:
连续输入几个整数,以用户输入9999结束输入,求输入的整数的平局值;
请输入:
1
2
3
9999
其平均值为:
intx,i=0;
floats=0,ave;
请输入:
x;
while(x!
=9999)
s=s+x;
i++;
if(i!
=0)
ave=s/i;
else
ave=0;
其平均值为:
ave<
7:
编写程序:
用一张一百元票换1元、5元、10元(至少各一张),问有几种换法?
每种换法中1元、5元、10元的票各几张?
inti,j,k;
intcount=0;
100元可兑换:
for(i=1;
86;
for(j=1;
j<
14;
j++)
9;
k++)
{
if(1*i+5*j+10*k==100)
{
cout<
一元:
张"
五元元:
十元:
}
}
count++;
共有"
count<
种方法。
8:
猴子吃桃问题:
猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个。
第二天将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃了前一天剩下的一半零一个。
到第10天想再吃时,见之剩下一个桃子了。
求第一天摘了多少桃子?
并将每天的桃子数打印出来。
(提示:
采取逆向思维的方法,从后往前推断。
)
代码1(递归):
intpeach_amount(intx,inty)
if(y>
=10)
return1;
else
return2*peach_amount(x,++y)+2;
inta=0,sum=0;
sum=peach_amount(a,1);
第一天有桃子总数为:
sum<
for(intd=1;
d<
=10;
d++)
a=peach_amount(a,d);
if(a!
=1)
第"
天有桃子共"
个,"
吃了"
a/2+1<
剩余"
a/2-1<
个"
else
0<
代码2:
voidmain()
{
intday,n=1;
请输入天数:
day;
if(day==day)
day<
n/2+1<
while(day-->
1)
n=(n+1)*2;
//第1天的桃子数是第2天桃子数加1后的2倍
n/2-1<
9.编写程序:
输出职工信息,建立一个职工人数不超过5的信息表,职工的信息包括:
编号、姓名、工作部门和工资,最后分行打印出全部职工的信息。
inti,a[5],b[5],c[5],d[3];
for(i=0;
3;
name:
a[i];
num:
b[i];
bumen:
c[i];
sla:
d[i];
5;
name"
num"
bumen"
sla"
a[i]<
b[i]<
c[i]<
d[i]<
10:
按如下公式计算表达式的值(用递归实现):
intf(intp)
intq=0;
if(p<
0)
returnf(p);
if(p==1)
return1;
if(p==2)
return2;
returnf(p-1)+f(p-2);
请输入一个整数:
n=f(m);
n="
11:
今年父亲30岁,儿子6岁,问多少年后父亲的年龄是儿子年龄的2倍?
intx=30,y=6,i=0;
i++;
x++;
y++;
if(x==y*2)
}
12:
两个乒乓球队进行比赛,各出3人。
甲队为A,B,C三人,乙队为X,Y,Z三人,已抽签决定比赛名单,有人向队员打听,听比赛的名单,A说他不和X比,C说他不和X,Z比,编写C程序找出3对赛手名单
输出示例
a-z
b-x
c-y
chari,j,k;
for(i='
x'
='
z'
for(j='
if(i!
=j)
for(k='
=k&
&
j!
=k)
&
k!
{
A--"
cout<
B--"
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种