1、C 语言程序设计计算机实践题目A 类-简单题 最高分 80,良好 1B 类-中等难度题 最高分 90,优秀 4C 类-难题 最高分 100 9A 类-简单题 最高分 80,良好 A1: 设计一个菜单程序,选择数字键 13 分别在屏幕中间输出正三角形、菱形和空心的平行四边形,选择数字 4 结束操作并回到操作系统状态。要求:(1)主程序菜单设计 (2)每个图形单独是一个函数,即三个子函数。A2: 从键盘上输入三个矩阵,输出三个矩阵主对角线的和及乘积。要求:除了主函数外,输入函数输入三个矩阵,主对角线函数计算主对角线的和,乘积子函数计算主对角线的积。A3: 字符左右排序要求(1)编制子函数 jsSo
2、rt(),以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组中。排序条件:将字符串从中间一分为二,右边部分按字符的 ASCII 码升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参与处理,仍放在原位置上。例如,原字符串:hgfedcba876594321则处理后字符串:abcdhgfe 123498765(2)用子函数 exch()实现左右部分交换A4: 简单的文件操作编程完成读出文件 sfile.txt 中的内容,反序写入另一个文件 dfile.txt 中去。要求:(1)用文件完成(2)调用函数实现文件的写操作A5: 有一个一维数
3、组,内放 10 个学生成绩,输出各分数段人数、平均分、最高分和最低分,保留小数点后一位。要求:(1)分数段人数、平均分、最高分和最低分分别由三个或四个函数完成。(2)保留小数点后一位A6: 编写程序求出 555555 的约数中最大的三位数是多少。要求:(1)用函数求出所有的最大三位数(2)用函数求最大的三位数A7: 编写程序,实现比较两个分数的大小。要求:调用函数先比较两个数的分母,分母相同比较分子;否则通分后比较。A8: 循环输入任意三位正整数,判断该三位数是否等于其每位数字的阶乘之和,赶到输入-999 为止。要求:调用函数判断该三位数是否等于其每位数字的阶乘之和A9: 求兔子问题。第 1
4、年有 1 对兔子,每对兔子从出生后第 3 个年起,就可每年生 1 对兔子,兔子的寿命是 6 年,问第 n 年有多少对兔子? 要求:调用函数计算兔子数量A10: 用 C 实现时钟程序。要求:(1)至少有一个子函数(2)将时钟显示在屏幕的右上角A12:有 5 个人坐在一起,问第 5 个人多少岁,他说比第 4 个人大 2 岁。问第 4 个人多少岁,他说比第 3 个人大 2 岁。问第 3 个人多少岁,他说比第 2 个人大 2 岁。问第 2 个人多少岁,他说比第 1 个人大 2 岁。问第 1 个人多少岁,他说是 10 岁。请问第 5 个人多大?要求:用递归实现A13:给定某个年、月、日,计算出这一天为该
5、年的第几天。要求写出计算闰年的函数和计算日期的函数。要求:(1)分别用函数实现闰年的判断和日期的计算A14.输入一个正整数(短整数) 、计算输出该数的各位数字之和,各位数字的平均和、反复执行、直到输入的数为-999 为止。要求:(1)将各位数字存于数组中(2)分别调用函数计算各位数字之和,各位数字的平均和。A15. 从键盘上输入一个字符串(不多于 40 个,以回车换行符作为输入结束标记) ,将其中的大写字母改为小写字母,其它字符不变,然后逆序输出。要求:(1)分别调用函数实现将其中的大写字母改为小写字母和逆序输出功能(2)用字符数组实现,对数组逆序之后输出。A16. 找出满足以下条件三位数 n
6、,它除以 11 所得到的商等于 n 的各位数字的平方和,且其中至少有两位数字相同。 131 131/11=11 12+32+12=11要求:(1)调用子函数判断三位数是否满足条件(2)至少一个子函数A17. 有 1020 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?要求:(1)调用子函数计算天数(2)至少一个子函数A18. 计算输入三个数的最大公约数。要求:(1)调用子函数求最大公约数(2)至少一个子函数A19. 输入一行字符串,将字符串中所有下标为奇数位置上的字母转换为大写。要求:至少一个子函数B 类-中等难度题 最高分 90,优秀B1、设计一个菜单程序,选择数
7、字键 1 生成 10 个10,100随机整数并排序输出(每行5 个) ,选择数字 2 在数组中查找是否有从键盘中输出的数字,选择 3 则回到操作系统状态。要求:1,生成随机整数、排序、查找有三个不同的函数完成;2 ,排序方法使用选择法或冒泡法;3 ,查找使用二分法。B2、从键盘输入字符串,将其中的单词(两个空格之间的字符串)的第一个字母转换为大写字母,输出原始字符串及转换后的所有单词,直到输出“*”结束转换和输出。要求:单词的第一个字母转换为大写字母由一个单独的函数完成。B3、四则运算考题。随机产生指定范围的数,显示每道的回答结果、得分及正确答案。 (每次 10 道,每道 2 分)B3、四则运
8、算考题。随机产生指定范围的数,显示每道的回答结果、得分及正确答案。(每次 10 道,每道 2 分)要求:减法的结果为正,除法结果为整数。B4、输入若干行正文,输出其中含有给定单词的那些行。要求:例如输入正文为The expression exprl is evaluated first.If it non-zero(true), then the expression给定单词为“is”,则输出为The expression exprl is evaluated first.B5、写一个统计学生成绩的程序,要求输入 10 个学生 5 门功课的成绩,分别用子函数求出:(1)每个学生的平均分;(2)
9、每门功课的平均分;(3)找出最高分所对应的学生和功课。要求:输入成绩一要由一个单独的函数完成。B6、从一个文本文件读取正文,统计每个数字出现的次数和其他字符出现的次数。要求:“统计每个数字出现的次数和其他字符出现的次数”写一个自定义函数;交作业时,文本文件与程序文件都要有。B7、从一个文本文件读取正文,将其中的小写字母转化成大写字母,大写字母转换成小写字母,其他字符不变,然后输出到另一个文本文件中保存。要求:“小写字母转化成大写字母,大写字母转换成小写字母,其他字符不变”写一个自定义函数;交作业时,两个文本文件与程序文件都要有。B8、在 C/C+语言环境下开发简单的绘图程序,分别实现画点、线、
10、图形等功能。要求:“画点” 、 “线” 、 “图形”分别写在三个自定义函数中,主函数使用菜单选择程序由 switch 语句分别调用自定义函数。B9、在 C/C+语言环境下实现复数运算:复数的乘法、除法和乘幂运算。要求:“复数的乘法、除法和乘幂运算”分别写在三个自定义函数中,主函数由switch 语句分别调用自定义函数。B10: 输出满足以下条件三位数 n(100-999) ,(1)它除以 11 所得到的商等于 n 的各位数字的平方和;(2)其中至少有两位数字相同。 例如:131 131/11=11 12+32+12=11要求:用子函数完成条件 1,条件 2。B11:候选人得票的统计。设有三个候
11、选人,每次输入一个得票的候选人的编号,共有n 个人参加投票,最后输出各人得票结果,并将结果保存到文本文件 tickets.txt 中。要求:用文件实现。B12.部分排序要求:(1)编制函数 jsSort();(2)对任意几个在 10009999 之间的数;(3)按每个数的后三位的大小进行升序排列,(4)取出满足此条件的前 5 个数依次存入数组 bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。例如: 处理前:6012 5099 9012 7025 8088处理后:9012 6012 7025 8088 5099B13.统计符合特定条件的数要求:(1) 从键盘随机敲入 10 个 4 位
12、数,并把这些数存入数组 a 中;(2) 编写一个函数,其功能是如果 4 位数各位上的数字是偶数,统计出满足此条件的个数;(3) 这些 4 位数按从大到小的顺序存入数组 b 中。B14.速算、口算天天练出题实现出题、判卷、错题重做、试卷保存的功能,题中所用的数值范围、运算符号可选择。要求:(1)主函数设计一个菜单,指明要完成的功能(2)设计四个子函数,分别实现出题、判卷、错题重做、试卷保存(3)将试卷保存在磁盘文件 data.txt 中B15.编写程序,从键盘输入一行字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test.txt“ 中保存。要求:(1)使用字符型数组(2)在
13、主函数中输入字符串(3)在子函数中实现小写转换成大写(4)将结果保存到磁盘文件 test.txtB16.求已知二个函数的的定积分(用指向函数的指针)已知:要求:(1)用循环迭代算法(2)用指向函数的指针B17.输入任意个电影名字,按字典次序排序。 (用动态内存分配)要求:(1)使用字符型数组处理电影名字(2)使用动态内存分配(3)在主函数中输入电影名字(4)建立一个子函数,实现将电影名字按字典次序排列B18、输入 10 个电影名字,按字典次序排序,将排序后的电影名字输出,每行输出一个名字。要求:使用二维数组 film_name1020存放电影名字,设定每个电影名都是英文,长度不超过 20 个字
14、符。dxxfba24)(例输入:(简单起见仅输入 3 个电影名)The mistDeep in the seaThe ring of lord输出:Deep in the seaThe mistThe ring of lordB19、编写一个函数 fun(str),它的功能是:统计由实参传来的一个字符串中的字母、数字、空格和其他字符的个数。要求:例输入:Hello Harbin $123输出:字母个数:11数字个数:3空格个数:2其他字符个数:3B20、输入一个字符串,存入数组 a,将其复制到数组 b,然后将数组 b 中所有小写字母改为大写字母,再将 a 中字符串连接到 b。比较并输出 a,b
15、 中的字符串的大小,最后输出a,b 中的字符串。要求:不能使用 strcpy, strcat 等字符串库函数。例输入abcdefg输出字符串 a:abcdefg字符串 b:ABCDEFGabcdefg比较结果:a bB21.、输入两个字符串 a 和 b,判断字符串 b 是否是字符串 a 的字串,是则输出 b 串在a 串中的开始位置;否则输出-1。要求:例输入a 字符串:ABCDEFb 字符串:CD输出3B21. 用指针编写字符串处理函数:字符串复制函数 strcpy,字符串比较函数 strcmp,字符串连接函数 strcat,字符串长度计算函数 strlen。要求:(1)分别用子函数,函数分别
16、命名为:stringcpy、stringcmp 、 stringcat、stringlen;(2) 用菜单形式选择调用相应函数实现字符串的复制、比较、连接、长度计算功能。B22. 下面函数 pi 的功能是:根据以下公式,返回满足精度要求的 的值。 947352173521312要求:(1)循环从键盘输入精度计算,直到输入-999 。(2)用子函数计算 B23. 分别在 a 数组和 b 数组中放入 an+1 和 bn+1 个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到 c 数组中要求:(1)用动态分配内存(2)至少调用一次子函数B24. 编写程序,在被调函数中删去一维数组中所有相
17、同的数,使之只剩一个,被调函数返回删除后数组中数据的个数。要求:(1)用动态分配内存(2)至少调用一次子函数B25. 编写函数 int fun(int x, int *pp),其功能是,求出能整除 x 且不是偶数的各整数,并按照从小到大的顺序放在 pp 指向的内存中,函数返回值为这些整数的个数。若 x 的值为30, 数组中的数为 1,3,5,15,函数返回 4。B26. 用面向对象的方法计算三角形类:三角形的三边及与三边相关的运算要求:(1)面向对象方法(2)计算三角形三边的周长和面积B27. 用面向对象的方法分析学生类:学生的姓名成绩及相关的运算要求:(1)面向对象方法(2)计算学生的平均成
18、绩、总分、输出学生信息。C 类-难题 最高分 100C1 字符串的操作设计要求:自定义函数实现对字符串的相关操作,不允许使用 C+中的系统函数实现功能:1 设计菜单实现功能选择(用 cout 输出列表)2 字符串的输入(赋给字符数组)3 字符串的运算:(要求用指针)(1)复制 (2 )连接 (3 )查找(4)交换 (5 )比较4 字符串的输出C2 通讯录的设计设计要求:定义类(person ) ,包括:姓名、性别、电话地址,邮编、QQ 号实现功能:1 设计菜单实现功能选择2 输入功能:输入人员相关信息存入对象数组3 查询功能:根据姓名、电话或 QQ 精确查找人员信息4 根据姓名将人员信息排序输
19、出5 根据姓名删除人员信息C3 成绩管理系统设计要求:建立记事本文件,存入学生学号、姓名、成绩定义类:包含学号、姓名、成绩及 show 函数创建对象数组,依次读取记事本文件中的记录将学生成绩分段输出,并统计各段人数 q1w2e3r4t5C4 设计一个绘图程序 设计要求:所有图形需调用函数实现菜单列表选项,选择所绘图形:1. N 个端点的折线2. 圆或椭圆3. 圆弧或扇形4. 闭合图形及立方体5. 退出6.C5 表面积和体积的计算设计要求:创建抽象类、定义虚函数,运用继承,实现多态菜单列表选项:求下列实体的表面积和体积1. 球2. 立方体3. 圆锥体4. 圆柱5.C6 计算器设计要求:可以实现数值的加减乘除运算及两复数或矢量的和的运算提示:复数或矢量的和的运算需运算符重载菜单列表:1 简单数值的加、减、乘、除2 两复数和的运算3 矢量和的运算C7 随机数应用设计要求:对产生的 N 个随机数进行升降序的三种排序方式在 N 个随机数中找出最大值在排序的随机数中插入一个数后,仍有序C8 小型题库设计要求:建立两个记事本文件,分别存放填空题和选择题各 100 道, 根据要求组织试卷,在记事本中分别随机抽取 20 道题目,组卷后输出结果