《C语言程序设计》复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C 语言程序设计》复习题集
顺序结构程序设计
1_01 输入两个整型变量a 、b 的值,输出下列算式以及运算结果。
a+b 、a-b 、a*b 、a/b 、(float)a/b 、a%b
每个算式占一行。
如a=10,b=5则输出:10+5=15
1_02 输入圆的半径,计算圆的周长和面积。
1_03 输入任意一个3位数,将其各位数字反序输出(如输入123,输出321)。
1_04 输入3个正整数,判断其中是否有两个奇数和一个偶数。
若是则输出YES ,否则输出NOT (要求用条件表达式实现,不能使用if 语句)。
1_05 输入一个字符,求其前驱字符和后继字符,并按其ASCII 码值的降序输出此3个字符及其对应的ASCII 码值。
1_06 输入三角形的边长,求三角形面积(面积area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2)。
选择结构程序设计
2_01 输入两个字符,若这两个字符的ASCII 码值之差为偶数,则输出它们的后继字符,否则输出它们的前驱字符。
2_02 输入整数a 和b ,如果a 能被b 整除,就输出算式和商,否则输出算式、商和余数。
2_03 输入某个点A 的平面坐标(x ,y ),判断A 点是在圆内、圆外还是圆周上,其中圆心坐标为(2,2),半径为1。
2_04 输入年号和月份,输出这一年该月的天数(注意闰年问题)。
2_05 编写程序实现下面函数的求解(要求分别if 语句和switch 语句实现)。
⎪⎩⎪⎨⎧<<=<<-+-=8000511x x x x x
x y
循环结构程序设计
3_01 输入n 个整数,求这n 个数中的偶数平均值并输出。
3_02 输入一串字符,直到输入一个'*'为止,输出其中的字母个数和数字字符个数。
3_03 输入一个正整数n ,计算各位数字之和。
3_04 输入一个字符串,将其中的大写字母改写为小写字母,小写字母改写为大写字母。
3_05 设某县2000年工业总产值为200亿元,若其平均年增长率为4.5%,则几年后工业总产值可达500亿元。
3_06 输出1~999中能被3整除,且至少有一位数字是5的所有整数。
3_07 求爱因斯坦数学题。
有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后正好1阶不剩。
3_08 输入一个3位数判断是否为“水仙花数”。
所谓水仙花数是指3位数3位数的各位数字的立方和等于此3位数本身。
3_09 计算斐波那契分数序列前20项之和。
(斐波那契分数序列为: ,13
21,813,58,35,23,12) 3_10 输入一个正整数n ,各输出n 行的正(倒)三角形宝塔图案。
3_11 输出九九乘法口诀表。
3_12 输入一组整数,直到输入一个0为止,统计其中的正整数和负整数个数以及所有正整数的平均值和
所有负整数的平均值。
3_13 输出1~999中所有的完数(完数即一个整数等于该数所有因子之和)。
3_14 按公式求e 的近似值(精度为1e-6)。
!
1!31!211!11n e +++++= 数组
4_01 求一组成绩的平均分数以及高于平均分的成绩,设给定的成绩为90,77,62,85,92,80。
4_02 输入一组整数,对其按升序排序后输出。
要求使用冒泡排序法实现。
4_03 输入一个4×4的整数矩阵,以主对角线为对称轴,将左下角元素中较大的元素交换右上角对应元素,并将处理后的矩阵,右上角元素(含主对角线元素)输出。
4_04 向一个3×4的整型二维数组输入数据,然后分别按行和列输出数组元素。
4_05 将两个字符串(a 和b )连接起来(结果存放在a 中),要求不能使用strcat 函数。
4_06 输入一个字符串,统计字符串中字符对”ab ”的个数。
4_07 输入10个字符串,找出其中最长的字符串。
4_08 已知数组a 中有m 个按升序排列的元素,数组b 中有n 个按降序排列的元素,将a 和b 中的所有元素合并,按降序存入数组c 中。
函数与编译预处理
5_01 分别编写函数求两个整数的最大公约数和最小公倍数。
5_02 编写判断水仙花数的函数。
5_03 定义一个带参数的宏,实现两个数的互换。
5_04 定义递归函数求Fibonacci 数列。
⎪⎩⎪⎨⎧>==-+-=1
10)2()1(1
0)(n n n n Fib n Fib n Fib 5_05 定义递归函数求F=(n+m )!+n !,其中n 、m 为正整数。
5_06 编写函数输出九九乘法口诀表。
5_07 互满数是指两个正整数,每一个整数的所有因子(不包括其本身)之和等于对方。
求1000以内所有的互满数。
5_08 通过函数的嵌套调用实现以下计算:(当x=2.6,n=7时,求y )
)
3,2.3(),3.2(),(+-++=n x f n x f n x f y 其中:)!2()1(!4!21),(242n x x x n x f n n -+-+-= 指针(说明:以下题目均要求用指针实现)
6_01 编写函数fun ,从字符串中删除指定的字符。
6_02 编程将字符串中每一个单词的首字符转换为大写字母,单词之间用空格隔开。
6_03 编写函数将数组中的n 个整数,用选择排序法对其进行排序(降序)。
6_04 编写函数将一个字符串中从第m 个字符开始的n 个字符复制成另一个字符串。
6_05 编写函数将一个数组中的最大元素与第一个元素交换,最小元素与最后一个元素交换。
6_06 编写函数将数组中的n 个整数,用冒泡排序法对其进行排序(升序)。
6_07 编写函数将一个字符串(包含数字字符和非数字字符),其中连续的数字作为一个整数,依次存放到一个整型数组中,并输出这些整数以及整数的个数。