C++练习题.docx
- 文档编号:5961800
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:12
- 大小:22.16KB
C++练习题.docx
《C++练习题.docx》由会员分享,可在线阅读,更多相关《C++练习题.docx(12页珍藏版)》请在冰豆网上搜索。
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++) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 练习题