C语言程序设计课程设计题目
C语言程序设计习题试题集
《C语言程序设计》精品课件试题
目录
(按住CTRL键点击超链)
单项选择题 (002)
阅读程序题 (018)
程序填空题 (039)
编写程序题 (070)
《高级语言程序设计》课程设计制作小组
2007年4月
四、编写程序题及参考答案
导读:虽然题目基本按照教材章节顺序排列的,但是把同类题目尽量排在一起,便于读者学习掌握编程方法和思路,提高自己的编程能力。
【4.1】已知银行整存整取存款不同期限的月息利率分别为:
0.315% 期限一年
0.330% 期限二年
月息利率=0.345% 期限三年
0.375% 期限五年
0.420% 期限八年
要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。判断是否为闰年,可用如下C语言表达
式:year%4==0 && year%100!=0 || year%400==0。若表达式成立(即表达式值为1),则year
为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1 op data2。其中data1和data2是参加运
算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
C语言课程设计参考题目
C语言课程设计参考题目
一、基本要求题目
1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。试编程推算肇事车的车牌号。
2、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号。
3、编写一个程序,求3X4数组的转置矩阵。要求在main函数里读数,在change 函数里把矩阵转置。
4、编写函数,求取两个整数m,n的最大公约数和最小公倍数。
5、用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。N 个整数在主函数中输入。最后在主函数中输出。
6、有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。请编程用结构类型的数据处理方式实现如下目标:(1)在main函数中输入原始数据;(2)在count 函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数将各学生的数据按总分降序输出。
7、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串
8、文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密
9、编写字串 str1 中找出所有小写字母转成大写字母,大写字母转成小写字母后,结果依次存入字符数组 str2 中,str1 不变仍为原字串的程序。例如,字符串str1 为 "91A2BC. a1bc",调用函数 fun 后,字符数组 str2将存入"91a2bc. A1BC",str1仍然是"91A2BC. a1bc"。
c语言程序设计课程设计选题 (1)
《C语言程序设计》课程设计课题表
一、A类
1.职工信息管理系统设计
2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职
工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
3.1、职工信息录入功能(职工信息用文件保存)--输入
4.2、职工信息浏览功能--输出
5.3、职工信息查询功能--算法
6.查询方式:按学历查询、按职工号查询、条件组合查询
7.职工信息删除、修改功能(可选项)
8.图书信息管理系统设计
9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价
格等。
10.试设计一图书信息管理系统,使之能提供以下功能:
11.1、图书信息录入功能(图书信息用文件保存)--输入
12.2、图书信息浏览功能--输出
13.3、图书信息查询功能--算法
14.查询方式:按书名查询、按作者名查询、条件组合查询
15.图书信息的删除与修改(可选项)
16.图书管理系统设计
17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人
姓名、性别、学号等
18.功能描述:
19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续
25.要求:使用文件方式存储数据。
26.实验设备管理系统设计
27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),
设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:
29.1、能够完成对设备的录入和修改
c语言课程设计参考题目
c语言课程设计参考题目
以下是一些可以作为C语言课程设计参考的题目:
1. 编写一个简单的C程序,实现一个计算器的功能,包括按键输入、按位运算、结果输出等。
2. 设计一个C语言的数据结构,例如链表、树、图等。
3. 实现一个简单的程序,用于检测一个字符串是否包含某个特
定的字符集。
4. 设计一个C程序,实现一个文件管理系统,包括文件读取、修改、删除、创建等操作。
5. 编写一个C程序,模拟一个简单的计算机操作系统,例如进程
管理、内存管理等。
6. 设计一个C程序,用于处理一个字符串,包括查找特定字符、
替换特定字符、翻译文本等。
7. 实现一个简单的编译器,用于编译C程序。
8. 设计一个C程序,用于实现一个网络应用程序,包括用户登录、数据发送、数据接收等。
9. 编写一个C程序,用于实现一个简单的图形用户界面,例如窗口、菜单、按钮等。
10. 设计一个C程序,用于处理一个音频播放器,包括音频读取、播放、暂停、中断等。
这些题目都是相对来说比较难的,但也都是C语言编程中比较经
典的应用场景。通过这些题目的训练,可以帮助学生更好地掌握C语
言的编程思想和技巧。
大一C语言课程设计
大一C语言课程设计(10)
两道小题,一道大题,大题是,班级成绩治理系统,对一个有N个学生
的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的治理。
void state_high(); void state_ave(); void state_num(); char choice; system(cls);
printf(================================================\n); printf( 选择菜单 \n); printf( A.显示每门课程成
绩最高的学生的根本信息 \n); printf( B.显示每门课程的平
均成绩 \n); printf( C.显示超过某门课程平均成绩的学
生人数 \n); printf( D.返回 \n);
printf(================================================\n); scanf(%s,choice); switch(choice) {
case ”A”:case ”a”:state_high(); break;
case ”B”:case ”b”:state_ave(); break;
case ”C”:case ”c”:state_num(); break;
case ”D”:case ”d”:break; default:errorinput();coun(); break; }
printf(按任意键返回主菜单\n); getchar(); }
(完整)《C语言程序设计课程设计》题目——软件工程2班
1 一元稀疏多项式的运算
问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理.
实现要求:
⑴输入并建立多项式;
⑵输出多项式,输出形式为整数序列:n,c
1,e
1
,c
2
,e
2
……c
n
,e
n
,其中n是多项式的项数,c
i
,
e
i
分别为第i项的系数和指数。序列按指数降序排列;
⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;
⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;
⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;
⑹设计一个菜单,至少具有上述操作要求的基本功能。
测试数据:
(1) (2x+5x8-3.1x11)+(7—5x8+11x9)
(2) (6x-3—x+4。4x2-1。2x9)-(-6x-3+5.4x2+7。8x15)
(3)(x+x2+x3)+0
(4)(x+x3)—(-x—x-3)
2 成绩排序
假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:
⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;
⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;
⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;
C语言程序设计综合实训题目
一、参考题目及选题
(1)学生信息管理系统设计
问题描述:
学生信息包括:学号,姓名,年龄,性别,出生年月,政治面貌,籍贯,家庭住址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)学生信息录入功能(学生信息用文件保存)
(3)学生信息浏览功能
(4)学生信息排序、查询功能
对信息进行排序,可以按学号,按姓名,按性别,按出生年月日,按籍贯进行查询(5)信息统计
a) 可以按性别,按出生年,按籍贯统计学生人数
b) 可以按班级统计学生人数
c) 可以按政治面貌统计学生人数
按班级统计学生党员人数,团员人数,以及所占比例,设计并输出统计报表。
(6)学生信息的删除与修改
设计要求:
●界面比较美观;
●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重
新输入;
●最好用链表的方式实现。
算法分析:
首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。
(2)、学生综合测评系统
C课设题目
C语言课程设计任务(一)
题目名称:递归函数求和与删除字符、工资统计程序的设计
内容及要求:
1.编写函数,原型为void fun(char *s,char t[ ] ); 其功能为:将s所指字符串中下标为奇数且ASCII码值为偶数的字符删除,s中剩余字符形成的新串放在t数组中。主函数中输入字符串,调用函数,及输出结果字符串。
例如,若输入的字符串为“ABCDEFG12345”,其中字符B的ASCII码值为偶数,且其所在元素的下标为奇数,因此必须删除;而字符2的ASCII码值为偶数,但其所在元素的下标为偶数,因此不必删除,其它字符依此类推。最后输出的结果字符串为:“ACEG12345”。
2.计算式子1-(1+2)+(1+2+3)-(1+2+3+4)+ ……的前n项和,并输出结果。用主函数调用子函数的方法实现(用递归法编写子函数,其功能是求1+2+3+ …+n的和)。
3.工资统计程序设计
设计结构体数组,结构中包含职工数据为:编号、姓名、部门、应付工资、保险、税金、实付工资。其中实付工资由公式计算得到:实付工资=应付工资 - 保险- 税金
设计各个函数,分别实现以下功能:
(1)录入:输入职工数据,其中“实付工资”通过计算得到。(2)显示:显示全体职工数据。(3)查询:输入某部门值,显示该部门职工的数据、工资总额、平均工资。
设计菜单,通过选择菜单调用以上各函数。
C语言课程设计任务(二)
题目名称:求整数的因子之和与数组每列平均值、学生成绩统计程序的设计
内容及要求:
1.编写函数fun(int n),其功能是:计算整数n所有因子(指除1和n之外,能整除n的数)之和作为函数值返回。主函数输入n,调用函数,并输出结果。例如:若输入120,则输出239。
C语言课程设计题目汇总
杨顺民题目 ....................................................................... 错误!未定义书签。题目1:年历显示.................................................................. 错误!未定义书签。题目2:小学生测验................................................................ 错误!未定义书签。题目3 运动会比赛计分系统......................................................... 错误!未定义书签。题目4:学生学籍管理系统(限2人) .................................................. 错误!未定义书签。题目5:排班系统.................................................................. 错误!未定义书签。题目6:通讯录程序设计(限2人) .................................................... 错误!未定义书签。题目8:机房收费管理系统(限2人) .................................................. 错误!未定义书签。题目9:班级成绩管理系统(限2人) .................................................. 错误!未定义书签。题目10:机房机位预定系统(限2人) ................................................. 错误!未定义书签。题目11:班级档案管理系统(限2人) ................................................. 错误!未定义书签。题目12:职工工资管理系统 (限2人) ................................................ 错误!未定义书签。题目13:工资纳税系统............................................................. 错误!未定义书签。题目14:歌手比赛系统............................................................. 错误!未定义书签。题目15:用英文单词模拟数学计算................................................... 错误!未定义书签。题目16:C语言关键字中英翻译机.................................................... 错误!未定义书签。题目17:用C语言设计一个简单的计算器,要求能够对输入的数......................... 错误!未定义书签。题目18:计算24游戏.............................................................. 错误!未定义书签。题目19:输入盘子数............................................................... 错误!未定义书签。题目20:多项式加法的实现......................................................... 错误!未定义书签。题目21:实现带有括号的四则运算................................................... 错误!未定义书签。题目22:线性方程组求解........................................................... 错误!未定义书签。题目23:大整数的四则运算......................................................... 错误!未定义书签。题目24:三角形计算............................................................... 错误!未定义书签。题目25:四边形计算............................................................... 错误!未定义书签。题目26:设计一个模拟时间条的程序................................................. 错误!未定义书签。题目27:文件加密................................................................. 错误!未定义书签。题目28:猜数游戏(掌握程序结构及随机函数应用)................................... 错误!未定义书签。题目29:字符串处理函数........................................................... 错误!未定义书签。题目30:进制转换................................................................. 错误!未定义书签。题目31:判断一个数是否是数组中的成员(用二分法查找)............................. 错误!未定义书签。题目32:位数大小排序(掌握数值排序算法)......................................... 错误!未定义书签。题目33:请编写函数fun ........................................................... 错误!未定义书签。题目34:矩阵乘法(数值求解算法)................................................. 错误!未定义书签。题目35:求所有不超过200的N值................................................... 错误!未定义书签。题目36:插入后自动排序(掌握用穷举法进行比较、交换)............................. 错误!未定义书签。题目37:用梯形法求定积分(数值求解算法)......................................... 错误!未定义书签。题目38:一个奇异的三位数(穷举算法) ............................................... 错误!未定义书签。题目39:回文数的形成............................................................. 错误!未定义书签。题目40:人机猜数游戏............................................................. 错误!未定义书签。题目41:条件编译................................................................. 错误!未定义书签。题目42:输出九九乘法口诀......................................................... 错误!未定义书签。输出九九乘法口决表(循环结构的应用,表的格式自己设定) .............................. 错误!未定义书签。题目43:设计函数................................................................. 错误!未定义书签。题目44:统计符号................................................................. 错误!未定义书签。尹四清题目 ....................................................................... 错误!未定义书签。李玉蓉题目 ....................................................................... 错误!未定义书签。题目2:排班系统.................................................................. 错误!未定义书签。题目3:个人小管家................................................................ 错误!未定义书签。
C语言程序设计课程设计选题
《C语言程序设计》课程设计课题表
一、A类
1.职工信息管理系统设计
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
1、职工信息录入功能(职工信息用文件保存)--输入
2、职工信息浏览功能--输出
3、职工信息查询功能--算法
查询方式:按学历查询、按职工号查询、条件组合查询
职工信息删除、修改功能(可选项)
2.图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
1、图书信息录入功能(图书信息用文件保存)--输入
2、图书信息浏览功能--输出
3、图书信息查询功能--算法
查询方式:按书名查询、按作者名查询、条件组合查询
图书信息的删除与修改(可选项)
3.图书管理系统设计
图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等
功能描述:
1、新进图书基本信息的输入。
2、图书基本信息的查询。
3、对撤消图书信息的删除。
4、为借书人办理注册。
5、办理借书手续。
6、办理还书手续
要求:使用文件方式存储数据。
4.实验设备管理系统设计
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
主要功能:
1、能够完成对设备的录入和修改
2、对设备进行分类统计
3、设备的破损耗费和遗损处理
4、设备的查询
要求:使用文件方式存储数据。
5.学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail 等。试设计一学生信息管理系统,使之能提供以下功能:
《C语言程序设计课程设计》题目
1 一元稀疏多项式的运算
问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。
实现要求:
⑴输入并建立多项式;
⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列;
⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;
⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;
⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;
⑹设计一个菜单,至少具有上述操作要求的基本功能。
测试数据:
(1) (2x+5x8-3.1x11)+(7-5x8+11x9)
(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)
(3)(x+x2+x3)+0
(4)(x+x3)-(-x-x-3)
2 成绩排序
假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:
⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;
⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;
⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式
C语言课程设计题目
C语言课程设计题目
题目1:学生成绩管理系统
要求:每个学生的信息包括学号、姓名、班级、各科成绩等。设计一个学生成绩管理系统,应具有以下功能:
(1)学生成绩录入(要求存储在文件中)。
(2)求学生的平均分,并能根据学生的平均成绩进行排序。
(3)查询学生成绩,包括按学号和科目查询。
(4)修改学生成绩。
(5)按班级输出学生的成绩单。
题目2:酒店客房管理系统
要求:设计一个酒店客房管理系统,每条记录包括房间号、房间类别(单间、标准间、双人间)、是否空闲、价格等信息(房间号不重复)。实现如下功能;
(1)增加一条新的记录。
(2)删除一条记录。
(3)修改一条记录的相关信息。
(4)按照房间号和房间类别查找记录信息。
(5)显示所有记录的信息。
题目3:机房信息管理系统
要求:设计一个机房信息管理系统,每一条记录包括计算机标号、使用者姓名、学号、借用时间、归还时间等信息,使之实现如下功能:(1)添加一条新的记录。
(2)查看所有记录信息。
(3)根据计算机标号或使用者姓名查找指定记录。
(4)修改记录的信息。
(5)删除指定的某一条记录。
题目4:职工信息管理系统
要求:设计一个职工信息管理系统,职工信息包括职工号、姓名、性别、出生年月、职称、住址、电话号码等(职工号不重复),信息存储在文件中,使之能提供以下功能:
(1)职工信息录入功能。
(2)职工信息浏览功能。
(3)职工信息查询功能,包括按职工号和姓名查询。
(4)职工信息删除功能,包括按职工号和姓名删除。
(5)职工信息修改功能,包括按职工号和姓名修改。
题目5:学生信息管理系统
C语言程序课程设计参考题目
2011 网络工程1班1号至22
号
22
C语言程
序课程设
计
段筠
2011 网络工程2班1号至21
号
21
C语言程
序课程设
计
段筠
2011 网络工程1班23号至44
号
22
C语言程
序课程设
计
雷杏
2011 网络工程2班22号至41
号
20
C语言程
序课程设
计
雷杏
C/C++语言程序课程设计参考题目
参考题目
①长整数四则运算(最多限1人)
【问题描述】设计任意两个长正整数(小于80位)的加法函数add()和乘法函数mult(),并求任意整数(≤58)的阶乘。
【实现提示】用无符号整型或字符型数组存储任意长整数。
【测试数据】
6!=720
9!=362880
19!=1216451004088320000
39!=20397882081197443358640281739902897356800000000
②单词统计(最多限1人)
【问题描述】统计某篇英文小说中某些单词的出现次数。
【实现提示】英文小说存储在一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后全部完成。输出的每个单词的出现次数。约定小说中的词汇一律不跨行,这样每从文本文件中读入一行,就统计每个单词在这行中出现的次数,直到文件结束。
要求在程序运行时才输入文本文件名和要统计的词汇。
【测试数据】以C/C++语言源程序模拟英文小说。统计某些保留字(如:if, else, for, while等)的出现次数。
③保龄球计分
【问题描述】打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下:
C语言课程设计参考题目
《C语言课程设计》参考课题
第1题破译密码
问题:
据说最早的密码来自于罗马的凯撒大帝。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F)。而你要获得消息原文,也就是要将这个过程反过来。
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z M
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
(注意:只有字母会发生替换,其他非字母的字符不变,并且消息原文的所有字母都是大写的。)
输入:最多不超过100个数据集组成,每个数据集之间不会有空行,每个数据集由3部分组成:
1.起始行:START
2.密码消息:由1到200个字符组成一行,表示凯撒发出的一条消息.
3.结束行:END
在最后一个数据集之后,是另一行:ENDOFINPUT。
输出:
每个数据集对应一行,是凯撒的原始消息。
⏹Sample Input
START
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
END
START
N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
END
START
IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
《C语言程序设计》课程设计题目
2010级《C语言程序设计》课程设计
实验指导说明
一、使用指针的程序设计
实验目的:
1.掌握使用指针变量的程序设计。
2.掌握使用指针数组的程序设计。
3.掌握使用函数指针的程序设计。
4.掌握使用字符串指针的程序设计。
5. 掌握使用指针作为函数参数的程序设计.
具体题目:
1.计算给定复数z=x+iy的指数exp(z),对数ln(z) 以及正弦sin(z) 余弦cos(z) 具体要求:
分别编写计算给定复数的指数,对数,正弦,和余弦的四个函数。这四个函数的形参分别是给定复数的实部x,虚部y以级计算结果的实部u,虚部v。
编写一个主函数,首先调用计算复数指数的函数计算并输出复数z=2+i3的指数,在调用复数对数的函数计算并输出该结果(为一个复数)的对数,然后调用计算复数正弦的函数计算并输出新结果(为一个复数)的正弦,最后调用计算复数余弦的函数计算并输出新结果(为一个复数)的余弦。
在主函数中输出结果形式为(其中x 与y为复数实部与虚部的具体值,u 与v为计算结果中实部与虚部的具体值)
exp(x+iy)=u+iv
ln(x+iy)=u+iv
sin(x+iy)=u+iv
cos(x+iv)=u+iv
方法说明:
设给定的复数为z=x+iy 则
1)复数z 的指数为
w=u+iv=exp(z)=exp(x+iy)=exp(x)(cos(y)+isin(y)
即u=exp(x)cos(y),v=exp(x)sin(y)
2)复数z的对数为
w=u+iv=ln(z)=ln(x+iy)=lnsqrt(xx+yy)+iarctan(y/x)
C语言课程设计参考题目及要求
C语言课程设计参考题目及要求
c语言课程设计参考设计题目
1.飞行管理系统[功能要求]
程序启动后显示主菜单,包括下面的选项:
1.显示航班列表2增加航班3删除航班4航班预订5航班退款6航班乘客显示7航班
保存8从文件转入9注销
按下相应的数字键后进入各自的子功能每个子功能执行完毕后,返回并显示主菜单
【功能说明】
1.显示航班列表:在屏幕上显示注册航班总数和每个航班的信息,包括航班号、出发
和目的地、出发时间、着陆时间、使用的机型、座位数和价格。(每天一次航班)
2.增加航班:输入航班信息,包括航班号,出发地和目的地,起飞时间,落地时间,
所用机型,座位数,价格。
3.删除航班:输入要删除的航班号,删除航班信息。4号航班。预订:输入航班名称、日期、乘客姓名、身份证号码。5号航班。退款:输入航班名称、日期、身份证号码,删
除乘客信息。
6.航班乘客显示:输入航班号和日期,显示该航班的座位号及乘客姓名,以及空余座
位数。
7.航班保存:输入文件名,将航班信息保存到文件中。
8.从文件调入:输入文件名,读取文件将数据调入,重新生成航班信息9.退出:退出程序,返回操作系统
2.学生综合评价体系
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三
门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测
评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综
合测评总分的60%,10%,10%,20%。
a、学生信息处理
(1)输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1一元稀疏多项式的运算
问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。
实现要求:
⑴输入并建立多项式;
⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列;
⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;
⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;
⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;
⑹设计一个菜单,至少具有上述操作要求的基本功能。
测试数据:
(1) (2x+5x8-3.1x11)+(7-5x8+11x9)
(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)
(3)(x+x2+x3)+0
(4)(x+x3)-(-x-x-3)
2成绩排序
假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:
⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;
⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;
⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进
行班内排序;
⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;
⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;
⑹设计一个菜单,至少具有上述操作要求的基本功能。
3迷宫问题
问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
实现要求:
⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。
⑵编写递归形式的算法,求得迷宫中所有可能的通路;
⑶以方阵形式输出迷宫及其通路。
[测试数据]
迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。
1 2 3 4 5 6 7 8
实现提示:
计算机解迷宫通常用的是“穷举求解”方法,即从入口出发,顺着某一个方向进行探索,若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的通路都探索到而未能到达出口,则所设定的迷宫没有通路。
可以二维数组存储迷宫数据,通常设定入口点的下标为(1,1),出口点的下标为(m,n)。为处理方便起见,可在迷宫的四周加一圈障碍。对于迷宫中任一位置,均可约定有东、南、西、北四个方向可通。
4栈及其操作
问题描述:
栈(Stack):是限制在表的一端进行插入和删除操作的线性表。又称为后进先出LIFO (Last In First Out)或先进后出FILO (First In Last Out)线性表。
栈顶(Top):允许进行插入、删除操作的一端,又称为表尾。用栈顶指针(top)来指示栈顶元素。栈底(Bottom):是固定端,又称为表头。空栈:当表中没有元素时称为空栈。
设栈S=(a1,a2,…an),则a1称为栈底元素,an为栈顶元素。栈中元素按a1,a2,…an的次序进栈,退栈的第一个元素应为栈顶元素an。即栈的修改是按后进先出的原则进行的。
栈的链式存储结构称为链栈,是运算受限的单链表。其插入和删除操作只能在表头位置上进行。链栈的基本形式如下:
空链栈
非空链栈
实现要求:
⑴链栈基本操作的实现:栈的初始化,生成一个空栈;压栈,即元素进栈;弹栈,即元素出栈;
⑵十进制整数N向其它进制数d(二、八、十六)的转换是计算机实现计算的
基本问题。转换法则:该转换法则对应于一个简单算法原理:
n=(n div d)*d+n mod d 其中:div为整除运算,mod为求余运算
⑶在文字处理软件或编译程序设计时,常常需要检查一个字符串或一个表达
式中的括号是否相匹配?
匹配思想:从左至右扫描一个字符串(或表达式),则每个右括号将与最近遇到的那个左括号相匹配。则可以在从左至右扫描过程中把所遇到的左括号存放到堆栈中。每当遇到一个右括号时,就将它与栈顶的左括号(如果存在)相匹配,同时从栈顶删除该左括号。
算法思想:设置一个栈,当读到左括号时,左括号进栈。当读到右括号时,则从栈中弹出一个元素,与读到的左括号进行匹配,若匹配成功,继续读入;
否则匹配失败,返回FLASE。
5 用C语言设计一个年历系统
问题描述:
年历系统首先对于输入的任一年,能够给出该年每月的日期及实际周几的对应情况,并与实际的星期数垂直对齐,如下表所示(当输入2004时显示如下):
Input the year:2004
The calendar of the year 2004.
Januray 1 February 2
============================== ==============================
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
1 2 3 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29
============================== ==============================
March 3 April 4
============================== ==============================
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 29 30
============================== ==============================
功能要求:
⑴输入任一年将显示出该年的所有月份日期,对应的星期,输出的格式如上表要求(注意闰年情况);
⑵输入任意日期(包括年、月、日,格式有yyy/mm/dd、dd/mm/yyyy、mm/dd/yyyy、和yyyy,mm,dd、mm,dd,yyyy、dd,mm,yyyy六种基本情况),要求能够显示出该日期是本年的哪一周,是星期几。
6 航班信息管理
问题描述:
飞机航班系统的数据包括两部分: