《计算机程序设计基础_精讲多练CC++》课后习题[1]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 程序的基本结构
1. 在计算机上调试运行本章的所有例题,熟悉实验环境和方法。
2. 修改例1-1程序,使其能够在计算机屏幕上显示:
*******************
* Hello World! *
*******************
3. 仿照例1-2的加法计算器程序,编写一个通用计算器程序,当用户输入两个数以后,可
以计算并输出这两个数的和、差、积、商。
4. 仿照例1-3,编写一个计算直角三角形斜边边长的程序,要求当输入直角三角形的两个
直角边边长后,能够计算出第三边(即斜边)的边长。
提示:勾股定理(直角三角形两直角边a 、b 的平方和等于斜边c 的平方),即
a 2+
b 2=
c 2
5. 仿照例1-4,编写程序,计算32)7.7/()2.3()1(6+−++−=x x x
x x y 在x=3时的值。 6. 仿照例1-5,编写一个程序,当输入某学生“英语”课程的平时成绩、期中考试和期末
考试成绩及各项占总成绩的比例后,可以计算出该生“英语”课程的最终成绩。
第2章 数据类型与表达式
1. 编写一个程序,当输入某一个整数i ,输出i/3的值。变换不同的i ,观察输出结果
的变化。
2. 编写一个程序,当用户输入一个四位无符号整数后,程序能够反序输出这四位数。
3. 编写一个程序,要求完成以下要求:
1)
提示用户输入任意的三个小数; 2)
显示这三个小数; 3)
将这三个小数相加,并显示其结果; 4) 将结果按四舍五入方法转换成整数并显示。
4. 编写一个程序,将字符串“Love ”译成密码。加密规则是:将原来的字母用字母表
中其后面的第3个字母的来替换,如字母c 就用f 来替换,字母y 用b 来替换。
提示:分别用4个字符变量来存储'L'、'o'、'v'和'e',利用ASCII 表中字母的排列关系,按照加密方法对各个变量进行运算后输出。
5. 编写一个程序,当用户输入某一天的两个任意时刻以后,求出这两个时刻的时间差
(按秒计算)并输出。
第3章 程序的控制结构
1. 编写一个程序,实现下列分段函数的求值(即当用户从键盘输入任意一个x 值,程序可以求出对应的y 值并输出)。
⎪⎩
⎪⎨⎧≤<≤<+=x x x x x y 110,
10,13 2. 利用公式:
...71513114+−+−
≈π,计算π 的近似值,直到最后一项的绝对值小于10−4为止。 3. 完全数是其各因子之和正好等于本身的数,如6=1+2+3,28=1+2+4+7+14,所以6,28都是完全数。请编程找出2~10000之内的所有完全数。
4. 求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即就吃了一半,又感觉不过瘾,于是就多吃了一个。以后每天如此,到第10天想吃时,发现就只剩下了一个桃子。请编程计算第一天猴子摘的桃子个数。
5. 一个小球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
6. 编写一个算命程序,可以预测前世。(本题内容纯属虚构)
算命方法:将某人的出生年月日加起来,例如:1975年2月20日出生的人就是1+9+7+5+0+2+2+0=26。如果结果不是一位数,就再相加(如果相加之后还是一位数以上的话,就再相加,直到变成一位数)。因此,先前算出来的26,需再计算2+6=8。将最后得出的一位数字对照下面的表就可以得知这个人上辈子是什么。
1 代表你上辈子是神仙
2 代表你上辈子是皇帝或国王
3 代表你上辈子是贵族
4 代表你上辈子是读书人
5 表示你上辈子是有钱人
6 表示你上辈子是穷人
7 表示你上辈子是非人类
8 表示你上辈子是演员
9 表示你上辈子是出家人
输入:用户从键盘输入出生年月日(为简单起见,可以输入一个整型数,如1975.2.20出生的人可以输入19750220)。
输出:预测出的前世结果
7. 百钱买百鸡问题:鸡翁一值钱五、鸡母一值钱三,鸡雏三值钱一。凡百钱买百鸡,问鸡翁、母、雏各几何?
8. 现有36块砖,要由36个人来搬,假定男人一次可以搬4块砖,女人一次可以搬3块砖,
两个小孩才能抬动一块砖,如果要求一次将36块砖都搬完,请编程计算这36人中的男、女、小孩各是多少?
第4章 数组和字符串
1. 编写程序,读取一个非负实数序列并计算它们的平均值,用一个负数-1表示输入的
终止,要求显示平均值的同时还要显示数据的个数。程序执行样例如下:
2. 编写程序,对于一个已经排好序的数组,当用户输入一个数后,要求能够按原来的
规律将它插入数组中相应位置。
3. 编写程序,将4阶方阵转置(即按主对角线为轴,将矩阵元素的行和列位置互换),
如下所示。
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1175115168354729864
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡1115597164858761324 转置前的方阵 转置后的方阵
4. 编写程序,找出一个4阶方阵主对角线中最小的元素,并输出最小值所在的行列号。
5. 显示出杨辉三角形的前10行
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1 提示:可直接根据杨辉三角形的形式来推出每项的值。由上面的杨辉三角形可以看出,杨辉三角形每行的第一个数和最后一个数均为1,除第一行外,每行中间的各数等于上一行
位于该数左上方和正上方的两数之和,即m n m n
m n C C C +=−+11。