C语言程序设计题目集合.docx
- 文档编号:27705727
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:14
- 大小:44.01KB
C语言程序设计题目集合.docx
《C语言程序设计题目集合.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题目集合.docx(14页珍藏版)》请在冰豆网上搜索。
C语言程序设计题目集合
一、A类、
①长整数四则运算(最多限1人)
【问题描述】设计任意两个长正整数(小于80位)的加法函数add()和乘法函数mult(),并求任意整数(≤58)的阶乘。
【实现提示】用无符号整型或字符型数组存储任意长整数。
【测试数据】
6!
=720
9!
=362880
19!
=121645*********0000
39!
=20397882081197443358640281739902897356800000000
②单词统计(最多限1人)
【问题描述】统计某篇英文小说中某些单词的出现次数。
【实现提示】英文小说存储在一个文本文件中。
待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后全部完成。
输出的每个单词的出现次数。
约定小说中的词汇一律不跨行,这样每从文本文件中读入一行,就统计每个单词在这行中出现的次数,直到文件结束。
要求在程序运行时才输入文本文件名和要统计的词汇。
【测试数据】以C/C++语言源程序模拟英文小说。
统计某些保留字(如:
if,else,for,while等)的出现次数。
③保龄球计分
【问题描述】打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。
一局分10轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:
某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。
计分规则如下:
a)若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。
b)若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。
c)若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次滚球所击倒瓶数之和。
【实现提示】
a)模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。
b)逐人逐轮逐次输入一次滚球击倒的瓶数。
c)对10人的得分由低到高排序并显示。
d)最后,把排序的存入文件中。
【测试数据】自定模拟数据
④学生成绩统计
【问题描述】学期考试结束,统计有N个班某班每个人的平均成绩,每门课的平均成绩,并按个人平均成绩从高到低的顺序输出成绩,输出不及格人名单。
输入、输出格式自定。
【实现提示】假设某班有:
30人(姓名自定)。
考试课程有:
高等数学、物理、外语、C语言、德育5门课程。
将所有同学的成绩保留在文件中,对文件中的数据处理,输出所要求的内容,程序的功能主要包括3方面:
a)输入成绩到文件中
b)输出成绩
c)输出不及格学生名单
d)成绩排序
e)修改记录
f)删除记录
g)插入记录等
主函数中对3个功能选择(菜单),调用对应的函数完成。
【测试数据】自定模拟数据
⑤README软件的制作
【问题描述】在现代的一些软件中,常常有这样一个程序,它主要是显示某些软件的使用方法及注意事项。
比如:
TC2.0下README等。
设计制作一个有自己特色的说明软件。
【实现提示】
a)某软件的使用方法及注意事项等内容存储在文件README.TXT中。
b)使用编写的程序README.EXE能方便地阅读README.TXT中的内容。
c)能实现上翻一页、下翻一页、下一行、下一行等操作。
【测试数据】以某个语言源程序模拟README.TXT文件。
⑥编制一个学生的选课及学籍管理程序
【问题描述】现有若干个班级的学生,进行下学期课程的选课,假设已经通过文件储存了选课内容的数据库,数据库中包括7门课(课程内容由学生自己定)
第i门课程的接纳的学生数为10×i,i为课程的序号,如第一门课的接纳的学生数为10×1,第二门课为10×2,......依此类推,每门课的学分数分别为1、2、3、4、5、6、7,现要求每一个学生至少选3门课,最多不超过5门。
【实现提示】
a)显示课程内容供学生选择,并能进行选课的操作。
b)随着学生选课工作的进行,动态更新数据库的内容。
c)进行学生的最少选课量和最多选课量的控制。
d)显示所有学生的选课的结果。
e)把学生所选课按学分总积分由小到大排列,同样学分按姓名的英文字母排序。
f)录入学生的各科成绩。
g)学生的参数有:
姓名、学号、性别、总学分、各科成绩,补考情况,请把一门
和三门功课不及格的学生的姓名列出,并自动生成补考通知书,通知书中要求有学生的姓名、学号、不及格的科目及补考时间(由编程者自定)。
【测试数据】自定模拟数据
⑦一个用于医院门诊候诊的队列管理程序
【问题描述】要求采用先来先就诊的排队方式(就诊顺序与挂号单编号无关),假设挂号时编码是连续的,但由于同一个门诊科目有3个诊室,其中35(含35)岁以上的在第一诊室,35岁以下男患者进第二诊室,其它的进第三诊室,程序启动后显示下列菜单:
1--挂号
2--叫号
3--分诊室
4--显示各诊室队列信息
5--统计当天就诊患者情况(要求按性别进行统计和按任意年龄区段进行统计)
6--结束程序
【实现提示】
选1时,提示用户在一行内输入姓名及挂号单编号;
选2时,显示排在队列中第一位患者姓名、挂号单编号,将其从挂号序列中删除;
选3时,进行诊室分配;
选4时,按队列顺序显示个诊室排队人的姓名、挂号单编号及所在诊室;
选5时,进行两种统计方法的选择,并进行必要的统计计算;
选6时,退出程序的运行。
要求1~5中每一个步骤完成后都能重新显示此选择菜单。
【测试数据】自定模拟数据
⑧个人通讯录管理系统
【问题描述】建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。
【实现提示】
(1)通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。
(2)输入功能:
可以一次完成若干条信息的输入。
(3)显示功能:
完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示)
(4)查找功能:
可以按姓名等多种方式查找通讯信息
(5)增加、删除、修改功能:
完成通讯录信息的多种更新
【测试数据】自定模拟数据
⑨学生综合测评系统
【问题描述】每个学生的信息为:
学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
【实现提示】
A、学生信息处理
(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:
学生信息可先输入到数组中,排序后可写到文件中。
(2)插入(修改)同学信息:
提示:
先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
(3)删除同学信息:
提示:
输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4)浏览学生信息:
提示:
打开文件,显示该文件的学生信息。
B、学生数据处理:
(1)按考试科目录入学生成绩并且按公式:
考试成绩=(语文+数学+外语)/3计算考试成绩,并计算考试名次,提示:
先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2)学生测评数据输入并计算综合测评总分及名次。
提示:
综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3)学生数据管理
提示:
输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件
(4)学生数据查询:
提示:
输入学号或其他信息,即读出所有数据信息,并显示出来。
C、学生综合信息输出
提示:
输出学生信息到屏幕。
【测试数据】自定模拟数据
10:
五子棋
程序要求:
1.由两个玩家分别下棋,当某一玩家五子相连,则赢。
2.界面要求:
初始状态——显示棋盘,并显示两个玩家的操作键及初始玩家号;游戏进行状态——动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。
15:
井子棋
程序要求:
1.计算机为一方,人为一方,交替下棋,谁先连成一条直线谁胜;允许人选择先下还是后下。
2.界面要求:
初始状态——显示棋盘,并显示玩家的操作键;游戏进行状态——动态显示棋盘不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。
3.提示计算机自动下棋的规则:
计算机下时,应考虑所有空位,并按行、列、对角线计算每个空位的分值,若在某行(列、对角线)上,(设计算机画X,人画O)
已有XX加50分
已有OO加25分
已有X空加10分
已有O空加8分
都是空加4分
然后选分值最高的位置画X。
11:
迷宫游戏
程序要求:
1.随机生成迷宫,找出由入口经过迷宫到达出口的一条路径,允许选择人或计算机找出路。
2.界面要求:
初始状态——显示迷宫的图面;用箭头指出入口外和出口外;游戏进行状态——选择人找出路时,显示每一步的结果,到边了和遇上障碍,发出“嘟”的叫声。
走到出口处,应给出“胜利”的字样;选择计算机找出路时,用一条有颜色的线画出路径,若找不出出口就显示“无出路”的字样。
3.计算机找出路部分可选做。
12.贪吃蛇算法
程序要求:
游戏时,一条蛇在密闭的围墙内,围墙内会随机出现一个食物通过键盘上的4个光标键控制蛇向上下左右4个方向移动,蛇头接到食物,则表示食物被蛇吃掉,这时蛇的身体加长一节,同时计10分。
接着又出现食物等待被蛇吃掉。
如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体),则游戏结束。
13.猜数字游戏,
有一定的容错功能,界面友好,功能齐全。
游戏规则:
a,一个四位数,各位上的数字不重复,从1到9。
b,按以下提示猜出这个四位数。
c,每次猜测输入的数据给出类似的提示*A*B。
d,其中A前的*代表你本次猜对了多少个数字。
e,其中B前的*代表你本次猜对的数字并且位置正确的个数。
14.模拟计算器程序
设计一个程序来模拟一个简单的手持计算器。
程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求
程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’符号后,窗口显示出结果。
(不用考虑运算符的优先级)
测试数据
程序输入不少于5种不同的表达式进行测试。
15.日历显示
1).输入任一年将显示出该年的所有月份日期,对应的星期
2).注意闰年情况
其显示格式要求如下:
1)月份:
中文英文都可以,
2)下一行显示星期,从周日到周六,中英文都可以
3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐
当输入2004显示如下:
Inputtheyear:
2004
Inputthefilename:
a
Thecalendaroftheyear2004.
Januray1February2
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
1231234567
45678910891011121314
1112131415161715161718192021
1819202122232422232425262728
2526272829303129
======================================================
March3April4
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
123456123
7891011121345678910
1415161718192011121314151617
2122232425262718192021222324
28293031252627282930
======================================================
…
16.钟表显示程序
要求:
能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。
(如下图)
二、B类
1. 设计程序以打印任意一年的日历,要求每个季度的三个月并排打印,每个月的一个星期在一行打印。
2. 设计一套有关链表程序所需要的函数,提供建立链表、求链表中的结点数、逐个显示链表元素的值、按序号查询结点、按值查询结点、在指定序号的位置上插入结点和删除指定序号的结点等功能。
在此基础上编写应用程序。
3. 设计一个学生注册管理系统,能对学生注册信息(学号、姓名、性别、出生年月、所在系、专业、电话号码)进行查询(要求可以使用模糊查询和条件组合查询)、修改、增加、删除和存储等。
4. 设计一个课程信息管理系统,能对课程信息(课程编号、课程名称、学分、先修课号、任课教师)进行查询(要求可以使用模糊查询和条件组合查询)、修改、增加、删除和存储等。
5. 设计一个图书管理系统,能对图书信息(图书编号、书名、ISBN、出版社、作者、价格)进行查询(要求可以使用模糊查询和条件组合查询)、修改、增加、删除和存储等。
6. 模拟时钟程序
要求:
能准确地利用数字显示日期和时间,在屏幕上显示一个运行的电子时钟,按任意键时程序退出。
7. 编程实现文件的基本操作:
1)显示当前目录下有哪些文本文件;2)由用户输入选中的一个或多个文件名;3)由用户选择文件操作功能:
复制、删除、移动(到指定文件夹下),并实现相应的功能;
三、C类
1. 设计一种结构能表示最多1000位的大整数(正、负均可),并实现这类数的加、减运算。
2. 设计一种结构能表示最多1000位的大整数(正、负均可),并实现这类数的乘运算。
3. 已知一类用于表示集合的数组的元素是递增有序的,试分别编程实现这类集合的交集和并集。
4. 设计程序将两个递增有序的数组合并为一个递增有序的数组。
5. 编程实现将选中的若干个文件的内容依次复制插入到一个新文件new.txt中。
6. 剧场座位使用N*N的二维数组表示,元素值为1,代表票已售出,为0代表尚未售出,用户要求购买剧场中一块连续的num*num个座位,返回座位的起始行列坐标,找不到返回-1。
7. 判断一个串中的三类括号({[是否匹配。
8. 函数f(char*s,chardel),将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
如:
str为“33123333435”,del的值为‘3’,调用此函数后,将输出3个子字符串,分别为“12”,“4”,“5”。
9. 13个人围成一圈,从第一个人开始顺序报数1,2,3。
凡报到3者退出圈子。
找出最后留在圈子中的人原来的序号。
(用数组分别实现)。
10. 设计销售管理系统
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
销售员的代号、产品的代号、这种产品的当天的销售额。
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。
1、计算上个月每个人每种产品的销售额。
2、按销售额对销售员进行排序,输出排序结果(销售员代号)
3、统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)
4、输出统计报表
销售统计报表
产品代号 销售之和
销售员代号 1 2 3 4 5
1
2
3
4
每种产品之和 总和
四、D类(画出流程图)
1. 设计程序在屏幕上显示一个文本文件的内容,要求:
将所有大写英文字母改为小写字母输出,其它字符原样输出。
2. 输入一个正整数,再输入任意n个整数,计算并输出这n个整数的和及平均值。
使用动态内存分配方法为这n个整数分配空间。
3. 编程实现由用户输入若干字符串,使用指向若干字符串的指针数组,实现字符串的字典序输出。
4. 实现一个简易职工工资管理系统,工资项目包括编号,姓名、基本工资、奖金、保险、实发工资。
输入一个正整数,再输入n个职工前5项工资,计算其实发工资。
职工工资信息用文件保存。
5. 输入10个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。
每个学生的记录包括学号、姓名、成绩和等级。
要求定义和调用函数,该函数实现根据学生成绩给出等级并统计不及格人数和优秀(A)人数。
85~100为A,70~84为B,60~69为C,0~59为D,用文件实现。
6. 使用程序模拟汉诺塔运行过程,由用户输入盘子数,输出搬运步骤。
7. 建立一个学生成绩信息的单向链表,学生记录按学号由小到大排列,要求实现对成绩信息的插入、修改、删除和遍历。
8. 成绩记录簿。
编制一个C语言成绩记录簿,每个学生信息包括:
学号、姓名、C语言成绩。
具体功能:
创建信息链表并以磁盘文件保存
9. 链表的合并和复制,有两个单向链表,头指针分别为pList1和pList2,链表中每个结点信息为学号、姓名、年龄和成绩。
(1)编写函数把链表pList2合并到链表pList1中;
(2)编写函数将合并后的链表复制到新链表New上(链表结点信息与上面相同)。
10. 编程实现两个文本文件内容的复制,文件的名称由输入确定。
11. 编写程序读取一个指定的文本文件,显示在屏幕上,如果有大写字母,则改成小写字母再输出,并统计行数。
根据回车符统计文件的行数,要处理的文件名通过键盘输入字符串指定。
12、不少于3000字的论文,《C语言程序设计与单片机C语言相关性、差异性分析》
《C语言教学建议及学习心得分析》
五专业类E类
《单片机C语言程序设计》编程
1、十字路口交通信号灯控制系统、交通灯的硬件和软件设计
类似于此类的软硬件结合的题目,作出实物及编写源代码。
1.编程使8个发光二极管按不同的方式循环点亮。
采用外部中断1方式来控制循环点亮,即按一下中断按键时更换一种点这方式。
每次循环在LED数码管上显示P1,P2…代表不同的方式,同时循环结束后蜂鸣器发出一声报警声音。
2.采用定时器1按方式1工作,每100ms则T1中断溢出一次,要求编写程序模拟一个循环彩灯(实验板中的发光二极管),变化花样自行设计,间隔1s变化一次。
每次循环在LED数码管上显示P1,P2…代表不同的方式,同时循环结束后蜂鸣器发出一声报警声音。
3.编写程序完成键盘与LED数码管的动态显示,上电初始状态为“----”,当键盘输入相应的数字时或字符时在数码管上显示出来,当数字或者字符超过4位时,从LED数码管从左到右循环显示。
4.编写M+(M+1)+(M+2)+…N(N>M)的程序,M,N值从键盘中输入(如M=1,N=50),并在LED数码管上显示输入的M、N数值,程序运行结果在LED数码管上显示出来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 题目 集合