C程序设计实践题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C程序设计实践》题目
A1: 设计一个菜单程序,选择数字键1~3分别在屏幕输出“正三角形”、“菱形”和“平行四边形”,选择其他数字结束操作并回到输入界面。
要求:(1)主函数菜单设计(2)每个图形单独是一个函数,即三个子函数。
A2: 字符左右排序。以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组中。
排序条件:将字符串从中间一分为二,右边部分按字符的ASCII码升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参与处理,仍放在原位置上。
例如,原字符串:
hgfedcba
876594321
则处理后字符串:
abcdhgfe
123498765
要求(1)子函数Exch()实现左右部分交换
(2)子函数Sort():完成排序功能
A3: 循环输入任意三位正整数,判断该三位数是否等于其每位数字的阶乘之和,直到输入999为止。
要求:调用函数判断该三位数是否等于其每位数字的阶乘之和
A4: 求兔子问题。第1年有1对兔子,每对兔子从出生后第3个年起,就可每年生1对兔子,兔子的寿命是6年,问第n年有多少对兔子?
要求:调用函数计算兔子数量
A5. 输入一个正整数(短整数)、计算输出该数的各位数字之和,各位数字的平均和、反复执行、直到输入的数为999为止。
要求:(1)将各位数字存于数组中
(2)分别调用子函数计算各位数字之和,各位数字的平均和。
A6. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。
要求:(1)调用子函数实现将字符串中的大写字母改为小写字母
(2)调用子函数实现逆序输出功能
A7. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
要求:(1)调用子函数计算天数
A8. 计算任意多个三个数的最大公约数,直到输入999为止。
要求:(1)调用子函数求最大公约数
A9. 输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。
要求:(1)调用子函数实现转换功能
A10有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。问第4个人多少岁,他说比第3个人大2岁。问第3个人多少岁,他说比第2个人大2岁。问第2个人多少岁,他说比第1个人大2岁。问第1个人多少岁,他说是10岁。请问第5个人多大?
要求:用递归实现
A11. 从键盘上输入一个字符串(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。
要求:(1)调用子函数实现将字符串中的大写字母改为小写字母
(2)调用子函数实现逆序输出功能
A12.写出满足不等式1+1/2+1/3+1/4+…1/N>15最小的N值并输出。
A13. :给定某个年、月、日,计算出这一天为该年的第几天。
要求:(1)用子函数实现闰年的判断
(2)用子函数实现日期的计算
A13.找出满足以下条件三位数n,它除以11所得到的商等于n的各位数字的平方和,且其中至少有两位数字相同。
如:131 131/11=11 12+32+12=11
要求:(1)调用子函数计算n的各位数字的和
(2)调用子函数进行判断并输出
A14.输入一行字符串,将字符串中所有下标为偶数位置上的字母转换为大写。
要求:(1)调用子函数实现转换功能
B1、从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为其后一个字母(如第一个字母为a,则将其转换为b,如第一个字母为z,则将其转换为a),输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。
要求:转换功能由单独的函数完成。
B2:候选人得票的统计。设有三个候选人,每次输入一个得票的候选人的编号,共有n个人参加投票,最后输出各人得票结果。
要求:有子函数的调用过程
B3.部分排序
要求:
(1)编制子函数 Sort();
(2)对任意几个在1000~9999之间的数;
(3)按每个数的后三位的大小进行降序排列;
(4)取出满足此条件的前5个数依次存入数组mm中,如果后三位的数值相等,则按原先的数值进行升序排列。
例如:处理前:6012 5099 9012 7025 8088
处理后:6012 9012 5099 8088 7025
B4.统计符合特定条件的数
要求:
(1)从键盘随机敲入n个4位数,并把这些数存入数组a中;
(2)编写一个函数,其功能是如果4位数各位上的数字是偶数,统计出满足
此条件的个数;
(3)这些4位数按从大到小的顺序输出;
B5、编写一个函数fun(str),使主程序调用它实现以下功能:循环统计由实参传来的一个字符串中的字母、数字、空格和其他字符的个数,直到输入的字符串为999。
要求:例输入:
Hello Harbin $$$123
输出:
字母个数:11
数字个数:3
空格个数:2
其他字符个数:3
B6: 有一个一维数组,内放n个学生成绩,输出各分数段人数、平均分、最高分和最低分,保留小数点后一位。
要求:(1)分数段人数、平均分、最高分和最低分分别由三个或四个子函数完成。
(2)保留小数点后一位
B7.编写函数int fun(int x, int *pp),其功能是,求出能整除x且不是偶数的各整数,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。若x的值为30,数组中的数为1,3,5,15,函数返回4。
要求:(1)输出原数组、满足条件的数组和和个数