C语言课程设计题目
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、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
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语言课程设计参考设计题目一、教学目标本课程旨在让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单C程序的能力,使学生了解编程思想,培养学生分析问题和解决问题的能力。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和表达式。
3.学会使用控制结构进行程序流程控制。
4.理解函数的定义和调用。
5.熟悉数组、字符串和指针的概念及应用。
6.能够使用C语言编写简单的程序。
7.能够阅读并理解简单的C语言程序。
8.能够运用C语言解决实际问题。
情感态度价值观目标:1.培养学生对编程的兴趣和热情。
2.培养学生勇于探索、积极思考的精神。
3.培养学生团队协作和互相学习的良好习惯。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述1.1 C语言的发展历史1.2 C语言的特点1.3 C语言的编译过程2.第二章:基本数据类型和运算符2.1 数据类型2.2 常量和变量2.3 运算符和表达式3.第三章:程序流程控制3.1 顺序结构3.2 选择结构3.3 循环结构4.第四章:函数4.1 函数的定义和声明4.2 函数的参数和返回值4.3 函数的调用5.第五章:数组、字符串和指针5.2 字符串6.第六章:编程实践6.1 简单程序设计6.2 综合程序设计三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
在教学过程中,注重理论与实践相结合,通过实例分析和编程实践,使学生更好地理解和掌握C语言的知识。
同时,鼓励学生积极参与讨论,培养学生的团队协作和沟通能力。
四、教学资源1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境5.网络资源:在线编程平台、论坛、博客等五、教学评估本课程的评估方式包括平时表现、作业、考试等。
c语言课程设计题目
附录1 供选择的C语言程序课程设计题目题目1:年历显示。
功能要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。
假定输入的年份在1940-2040年之间。
(2)输入年月,输出该月的日历。
(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。
题目2:学生学籍管理系统用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
功能要求:(1)系统以菜单方式工作。
(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。
(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。
题目3:通讯录程序设计设计一个实用的小型通讯录程序,具有添加,查询和删除功能。
由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。
电话号码可由字符和数字组成。
实现功能:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能要求:1、可以一个宿舍集体合作来完成。
功能函数分配到位,一个人负责主函数连接各功能函数。
2、每一个设计里都需要定义调用函数,源程序不能少于150行;3、不能只在网上下载,原封不动拷贝,需要自己改动下,满足自己设计的功能要求,功能可以简化。
4、形式参考我提供的报告范本写设计报告。
5、课程设计报告在18周周5下午交。
同时每人交一份pdf电子版(TC里不能显示中文,可以去VC环境里进行)。
C语言课程设计题目
C语言课程设计题目西南大学周竹荣zhouzr@题目1 时钟描述:在桌面窗口中显示一个模拟时钟。
技术路线:编写控制台程序,入口为main()函数。
用C语言时间函数获取当前时间,Graphic.h(注:在Visual studio 2010中,用EasyX程序包代替Graphic.h)。
在窗口中绘制一个模拟时钟。
/samples/教师提供:介绍EasyX的基本原理。
提供程序基本框架。
该基本程序可运行,且具有如下功能:1、绘制钟面;2、绘制时分秒指针;3、秒针的行走模式为一秒钟跳动一格图1.1 网上参考的时钟程序学生任务:读懂教师提供的程序,了解EasyX的基本原理;了解绘图坐标系;了解需要用到的时间和图形函数;完成以下任务:1)在钟面上增加日期窗口;2)将秒针的行走模式改为连续滑动模式;3)设计出更漂亮的钟面、时针、分针、秒针;4)设计出可以更换的钟面(模块化编程),一个钟面一个模块;5)为时钟增加闹钟功能(可选);6)为时钟增加秒表功能(可选);最后撰写文档。
文档至少包括问题描述、数据结构、算法流程图、源代码、运行截图。
题目2 校历描述:生成西南大学校历。
技术路线:编写控制台程序,入口为main()函数。
用户输入校历的参数,生成校历,保存在一个文本文件中。
教师提供:校历格式,日期星期计算算法。
学生任务:完成以下任务:1)生成西南大学任意学年的三个学期的校历;2)编制出教学周序号;3)标志出节假日;4)建立文本文件,保存校历;最后撰写文档。
文档至少包括问题描述、数据结构、算法流程图、源代码、运行截图。
题目3生理节律预测器描述:生理节律预测器。
技术路线:编写控制台程序,入口为main()函数。
用户输入出生日期,系统自动生成节律曲线图。
教师提供:节律计算公式,正弦曲线绘制算法。
图3.1 网上的节律计算器图3.2 正弦图形绘制学生任务:完成以下任务:1)智力节律曲线;2)情绪节律曲线;3)体力节律曲线;4)以文字方式对用户近期的智力、情绪、和体力进行建议;5)以模块化的方式编程,将箭头绘制,曲线绘制设计成模块,供反复调用。
c语言课程设计大赛题目
c语言课程设计大赛题目一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范;(2)掌握常用的数据类型、运算符和表达式;(3)熟悉函数的定义和调用;(4)了解数组、指针和字符串的基本操作;(5)掌握基本的数据结构和算法。
2.技能目标:(1)能够使用C语言编写简单的程序;(2)具备基本的编程能力和问题解决能力;(3)能够阅读和理解C语言的程序代码;(4)掌握调试和优化程序的方法。
3.情感态度价值观目标:(1)培养学生的团队合作意识和沟通能力;(2)激发学生对计算机科学的兴趣和好奇心;(3)培养学生的创新思维和自主学习能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和编程规范;2.数据类型、运算符和表达式的使用;3.函数的定义和调用,包括递归函数和调用约定;4.数组、指针和字符串的基本操作和内存管理;5.基本的数据结构,如线性表、栈和队列;6.常见的排序和查找算法,如冒泡排序、选择排序和二分查找;7.编程实践,包括数据结构和算法的应用。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和示范,使学生掌握C语言的基本语法和编程思想;2.讨论法:引导学生进行问题讨论和思考,培养学生的团队合作意识和沟通能力;3.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的方法和技巧;4.实验法:让学生通过动手实践,加深对C语言编程的理解和掌握。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:选用权威、实用的C语言教材,如《C程序设计语言》;2.参考书:提供相关的参考书籍,如《C Primer Plus》、《C和指针》等;3.多媒体资料:制作PPT、教学视频等多媒体资料,帮助学生更好地理解和掌握知识;4.实验设备:提供计算机实验室,让学生进行编程实践和实验操作。
C语言课程设计题目
C语言程序编码训练题目一、程序设计题目:简单的学生成绩管理程序程序设计功能及要求:(1)总人数定义为宏,数据使用文件存放;(2)输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。
⑶统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印;⑷在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩;⑸在开始画面加入简单的菜单便于选择各种功能。
例:1学生条目输入2成绩统计3分数段统计4不及格学生筛选⑹文件格式要求1.原始数据文件格式(具体数据和项目自行编写)学号姓名英语C语言高等数学…………..1张三7689782李四….….….2.输出数据文件(由程序自动生成)1)学生综合成绩文件。
2)学号姓名英语C语言高等数学…………….平均成绩名次1张三768978…………..2李四….….….3)统计结果文件。
4)分数段英语C语言高等数学………………….<602…60~698…70~795…80~8910…⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。
优等生标准(满足之一即可):1平均成绩上80。
2平均成绩及格但未上80,有单科成绩上90。
3平均成绩未及格,有单科满分。
二、程序设计题目:简单的同学通讯录程序设计[问题描述]具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。
[程序设计功能及要求]⑴人数不定,数据使用文件存放。
⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数据文件。
⑶可对记录中的姓名和电话号码等进行修改。
⑷可增加或删除记录⑸可显示所有保存的记录⑹加入统计功能,可以统计男女同学或总人数。
⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。
C语言课程设计参考题目
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"。
10、编写一个将某个范围在-32768~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。
(完整版)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:大整数的四则运算 ......................................................................................................................题目25:四边形计算 ..................................................................................................................................题目26:设计一个模拟时间条的程序 ......................................................................................................题目27:文件加密 ......................................................................................................................................题目28:猜数游戏(掌握程序结构及随机函数应用) ..........................................................................题目29:字符串处理函数 ..........................................................................................................................题目30:进制转换 ......................................................................................................................................题目31:判断一个数是否是数组中的成员(用二分法查找) ..............................................................题目32:位数大小排序(掌握数值排序算法) ......................................................................................题目33:请编写函数fun ...........................................................................................................................题目34:矩阵乘法(数值求解算法) ......................................................................................................题目35:求所有不超过200的N值 ..........................................................................................................题目36:插入后自动排序(掌握用穷举法进行比较、交换) ..............................................................题目37:用梯形法求定积分(数值求解算法) ......................................................................................题目38:一个奇异的三位数(穷举算法) ..................................................................................................题目39:回文数的形成 ..............................................................................................................................题目40:人机猜数游戏 ..............................................................................................................................题目41:条件编译 ......................................................................................................................................题目42:输出九九乘法口诀 ......................................................................................................................输出九九乘法口决表(循环结构的应用,表的格式自己设定) ...............................................................题目43:设计函数 ......................................................................................................................................题目44:统计符号 ......................................................................................................................................尹四清题目 ...................................................................................................................................................李玉蓉题目 ...................................................................................................................................................题目2:排班系统 ........................................................................................................................................题目4:个人图书管理系统 ........................................................................................................................题目5:数组元素的插入与逆置 ................................................................................................................题目要求: ...................................................................................................................................................把一个整数插入到按由小到大排列的数组中,插入后仍然保持由小到大的顺序排列,并将得到的数组逆置成由大到小排序。
C语言课程设计--猜数字游戏
课程设计报告课程名称C语言程序设计课题名称猜数字游戏专业机械设计及其自造化班级1185班学号201113090516姓名指导教师王颖2 0 1 2年6 月2 2 日湖南工程学院课程设计任务书课程名称C语言程序设计课题猜数字游戏专业班级机械设计1185 班学生姓名学号201113090516指导老师王颖审批王颖任务书下达日期2012 年6 月 1 日任务完成日期2012 年6 月22 日设计课题四:猜数字游戏一、问题描述:该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。
玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。
A表示位置正确且数字正确,B表示数字正确而位置不正确。
二、功能要求:1、本游戏显示这样的菜单:(1)随机产生数据(2)用户输入数据(3)退出游戏2、游戏成功与否都能返回主菜单三、算法提示:1、数据结构:数组2、用简单的程序设计方法四、测试数据:测试数据: 3792第一次输入: 12340A2B第二次输入: 56780A1B第三次输入: 08670A1B第四次输入: 97861A1B第五次输入: 17942A0B第六次输入: 27932A2B第七次输入: 37924A0B游戏过关!!!五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。
目录第一章绪论 (1)第一节项目背景 (1)第二节本课题所做的工作 (2)第二章需求分析第一节用户需求分析 (3)第二节开发环境分析 (4)第三章程序设计 (5)第一节程序的功能 (5)第二节输入输出的要求 (5)第三节程序模块 (6)第一条模块组成 (6)第二条层次结构 (8)第三条模块调用 (9)第四章分析 (10)第一节模块解释与功能 (10)第五章调试 (14)第一节菜单测试 (14)第二节游戏测试 (16)第一条在自定义中 (16)第二条在随机游戏中 (19)第六章总结 (21)第七章附录 (23)第一节附录A 源程序 (23)第二节附录B 参考文献 (32)课程设计评分表 (33)第一章绪论第一节项目背景C语言一共有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。
C语言程序课程设计备选题目
封面作者:PanHongliang仅供个人学习说明:1题目来源是:(1)较重要C语言程序设计教科书中的例题或习题;(2)与计算机学科相关的后续课程,如数据结构、离散数学、组合数学、计算方法等课程教科书中的例题或习题中,不需要相关后续课程的专门知识就可以很好解答的题目;其它有影响计算机程序设计类书籍或文章中的例题;(3)各级各类计算机程序设计竞赛(例如ACM大赛)、程序员考试、求职面试的训练题和考试卷等.欢迎老师和同学们提供更好的题目.2题目内容涉及的知识点不超过大学一年级的知识水平,主要目标是训练学生将实际问题转化为计算机可以处理的形式并编写程序给出解答的能力.去掉了较复杂事务管理如图书管理、学生成绩管理之类的题目,这类事务管理方面题目希望在后续课程如C++面向对象程序设计、数据库应用及各专业的课程设计中进行.3 题目有多种完全不同的解答,给出的提示主要供指导教师参考.题目1:文件存取练习:要求实现如下功能:(1)定义函数Rand1000(), 随机生成1000个均不相同的正整数,并写入到文本文件“file1.dat”中,各数之间用空格来分隔.(2)编写一个函数input(int a[],int n),将上述数据读入到数组a中.(3)编写一个函数digitcount(int a[],int n,int b[10]), 统计数组a的每个元素保存的整数中,每位数字出现的次数,并分别保存在b[0]到b[9]中.(4)编写函数maxprime(int *p,int n), 找出其中最大的素数,如果不存在素数函数结果为0.(5)对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的.(6)定义函数myinput(int a[],int n),用fgetc函数从文件“file1.dat”上逐个读入字符,并将其转换成独立的正整数,并依次存入数组a中.提示:可查阅任何一本C语言程序设计教科书中关于文件部分,例如谭浩强,C程序设计(第三版),第13章.还需要熟悉随机数生成函数rand(),需要编写判断一个奇整数是否素数的程序等.部分可供参考程序如下:题目2:两个文件同时对照显示:程序从两个文件中读出文本行,并列显示在屏幕上.假定屏幕有80列,25行,则第0—34列显示第一个文件的内容,第40—74列显示第二个,第77-78行显示文本总的行序号.每屏显示20行,超过20行就显示在下一屏.程序应该能够以这种方式显示任意的两个文本文件,例如两个C程序源代码文件,两篇内容类似的文章形成的两个文本文件等.提示:先把两个文本文件读入,存入数组,再考虑显示的安排.题目3:实现一个C语言程序设计自助学习系统,要求实现的基本功能如下:1、测验(1)可以按固定的试卷数目,从题库中随机选取题目进行测试,如每次测试5道题或10道题.(2)每次只显示一道题,包括问题描述、备选答案;(3)根据学生答题结果,对比试卷答案,显示答题对错的信息;(4)答题全部结束后给出本次测试的成绩,按百分制评分.2、学习管理(1)通过题目浏览,自我测验,查看题解的过程来帮助学生学习.(2)需要为学生提供多种学习方式,至少应包括顺序选题学习和随机选题学习等方式.(3)如果是采用顺序选题方式学习,需要做到可以从中间某个位置开始学习,不是每次一定从第一题开始学习.3、题库管理(1)试卷库中保存全部试卷及其相关信息.(2)将要入库的试卷,按固定格式编辑整理好保存在ASCII文件中,通过计算机程序读取该文件,并将文件中的全部试卷添加到已有的试卷库中.(3)今后需要对于所有试卷分类进行管理,在库结构设计时,要考虑这些扩展功能的数据接口要求.(4)试卷库初始化,将试卷库内容全部清空,便于重新建立系统.提示:可以参考:余江,肖淑芬主编,C语言程序设计,天津科学技术出版社,2001年5月,273-313页.题目4:实现题目3中C语言程序设计自助学习系统得升级版,可考虑实现功能:一、测验1、系统自动组卷(1)试卷结构说明:以题库提供的试卷类别和各类试卷的数量为依据来实现.系统组卷前需要获得的信息是对于每类试卷要含有类别名称、试卷数、分数,所有类别的分数累加在一起要恰好是100分.(2)试卷保存:将上述组卷结果保存在二进制文件中,文件名由用户输入. (3)个性化组卷:输入学号后,系统根据试卷结构说明的规定自动组卷,做到每个学生试卷不同.2、错题本功能(1)答错的题目自动加入到错题本中;(2)可以对错题本中的题目逐题测验,不分题目类别;(3)可以制定分类测试.3、多科目测试二、学习管理1、分类别学习2、错题本内容学习3、多科目学习,选择科目后可以进行指定类别的分类别学习和错题本内容学习.三、题库管理1、入库试卷文件格式正确性检查.包括:试卷的描述的合法性检查,类别信息合法性检查,给出出错位置的信息.2、对于分类试卷存储方式的优化,例如:同类试卷连续存储的实现;3、目前完成的是单科目多类别的题库管理,要实现多科目多类别的题库管理.四、用户管理1、系统注册2、登录3、错题本等个性化信息管理4、屏幕背景颜色和字符颜色的设置5、学习位置的记载,要按科目记载,每个科目要按类别记载.提示:鼓励使用更多方法实现,例如使用数据库系统,VC++等.题目5:给出一个正整数n,一个存放1到n共n个正整数的数字金字塔构造如下:(1)1在最上方第0层;(2)如果x大于y并且x除以y的余数为0(即x>y && x%y = = 0),x要放在y下方一层(即若y在第i层,x应在i+1层);(3)每个数应尽可能放在更下方,即如果可以放在第i层,就不能放在i-1层;(4)相同层上的数从左向右从小到大排列.其实第i层是有i个素数因子的数的从小到大的排列.例如对n=6,符合这组规则的数字金字塔如下:12 3 54 6每个数按照它在塔中的位置从上到下从左到右从1开始编号,例如5,编号应该是4.要求你编写程序,输入一个正整数n,5<n<50, 再输入3个不大于n的正整数,然后程序输出所构造的数字金字塔,及所输入3个不大于n的正整数在数字金字塔中的编号.例如设输入了6,3,4,5,程序可以输出:12 3 54 6 //用数组形式表示数字金字塔.3,5,4 //分别是3,4,5在数字金字塔中的编号.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)10,7,8,9 (2)25,15,20,25提示:本题为2010年ACM大赛题目,鼓励使用更多方法实现.题目6:你一定很熟悉著名的Hanoi塔游戏,当理解了圆盘数目较多需要的时间太长之后,你可以放弃实际去移动圆盘,但你不应该放弃如下一个有点类似的游戏:设有n根柱子,每根柱子上有一个圆盘,圆盘上有一个正整数,不同圆盘上的数不同.初始时假定柱子按照其上圆盘上数的大小从左向右排列,移动规则是从左向右看,当前一根柱子最下圆盘上数与后一根柱子最上圆盘上数相加的和是一个完全平方数时,前一根柱子上所有圆盘移动到后一根柱子上方.要求你编写程序,输入柱子数目和圆盘上的整数,输出移动的过程和结果.例如,一组输入是:4,1,3,5,6,第一个数4表示有4根柱子,圆盘上的数依次是1,3,5,6.你的程序运行后,可以输出1->3->6, 5, c=2,表示移动是1到3,3到6,因为1+3=4, 3+6=9,而4和9是完全平方数,符合条件的移动只有这两次.移动结果是还有2根柱子上有圆盘,即c=2,有圆盘的一根柱子上圆盘3个,有数1->3->6,有圆盘另一根柱子上圆盘一个,有数5,它其实没有发生移动.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)9,1,2,3,4,5,6,7,8,9(2)10,1,3,5,7,9,11,13,15,17,19(本题为2010年ACM大赛题目.)提示:输入:9,1,2,3,4,5,6,7,8,9 输出:1->3->6, 2->7->9,4->5,8,c=4输入:10,1,3,5,7,9,11,13,15,17,19 输出:1->3->13, 5->11,7->9,15,17->19,c=5题目7:我们知道,在10进制数中有判断整除性的二个简单规则:一个正整数能够被3整除,当且仅当,它的各位数字之和能够被3整除;一个正整数能够被11整除,当且仅当,它的奇数位数字之和与偶数位数字之和的差能够被11整除;现在要问:对于b进制数,具有类似于10进制数的3和11的这种整除性判断的数是什么?具体地,请编写程序,输入进制的基数b,输出最小的可以如上判断整除性的数x和y.为确定,输入输出均采用10进制数.例如输入b为10,则自然要输出x为3,y为11;若输入b为8,则要输出x为7,y为3(例如8进制数25,按上述规则判断应能够被7和3整除,事实上,8进制数25是10进制数21,能够被7和3整除是显然的);若输入b为120,则要输出x为7,y为11(请自己验证这是对的).(本题为2011年ACM大赛题目.)提示:对于10进制数,10-1=9=3*3,10+1=11,10进制数n可以一般地表示为:n = a k10k + a k-110k-1 + ……+ a110 + a0保持n不改变数值将10换为10 –1和10+1,可以看出3和11可以如上判断整除性的理由.对于b进制数,n = a k b k + a k-1b k-1 + ……+ a1b + a0可以想到只需考虑b – 1和 b+1的最小因子.题目8:如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成绩都比丙同学好.一般情况,设有一个三元向量的集合,若其中有向量P=(p1, p2, p3), Q=(q1, q2, q3), 规定P≦Q 当且仅当p1≦q1, p2≦q2, p3≦q3 .其中一个向量称为是一个极小元素,当且仅当它只≦它自己.例如如下三个三元向量组成了向量组(80,90,100),(90,80,70),(60,70,60),其中只有一个最小元素,是(60,70,60).请编写程序,输入n个三元向量,输出其中最小元素的数目.(本题为2011年ACM大赛题目.)提示:先对第一个坐标排序,再考虑第二个坐标,第三个坐标.题目9:在某城市有n座摩天大楼,问那二座之间的距离最小?设可以输入所有大楼的位置坐标,请编写程序输出距离最近的二座大楼及它们之间的距离.两点(x1, y1) 和 (x2, y2) 之间的距离d按照两种不同方式规定:(1)Euclid距离d =(2)Manhattan距离 d = | x1 –x2 | + | y1–y2 |.显然的解法是计算所有点对之间的距离再找出最小值,但本题只要求输出距离最近的二点及之间距离,所以应该给出不计算所有点对之间距离的更有效率的解法(本题为2011年ACM大赛题目).(可查阅:[沙特]M.H.Alsuwaiyel著,吴伟昶等译,算法设计技巧与分析,电子工业出版社,2004年8月,第121-124页.或者:[美]Michael T.Goodrich等著,霍红卫译,算法分析与设计,人民邮电出版社,2006年10月,第385-387页.)提示:找到两点距离d后,接下去可检查宽不超过d的长条.题目10:一条贪吃的蛇在一个n*m的网格中游走,它只能从一个方格走向另一个相邻的方格,这里相邻的意思是两个方格有公共边.每个方格可以看作是一个房间,其中一些是空的,一些存放有苹果.贪吃的蛇根本不进入空的房间,而进入有苹果的房间后就可以带走所有苹果使房间成为空的.蛇从一个指定的房间出发,最终回到它的家,把一路带来的苹果存储到家中,当然,它希望带来的苹果最多.请编写程序,输入有整数n和m,及n*m的一个矩阵,矩阵元素数值中有一个是-1,表示蛇的出发位置,有一个是-2,表示蛇的家的位置,其余数值是非负整数,0表示房间为空,非零整数表示苹果的数目.输出蛇选择的游走路径和获得的最多的苹果数目.例如输入4*4矩阵:7 0 4 184 0 1 115 7 11 -10 12 -2 0则应输出 (2, 3), (1, 3), (0, 3), (0, 2), (1, 2), (2, 2), (2, 1), (3, 1), (3, 2), 带回苹果数为1+18+4+1+11+7+12 = 54.(本题为2011年ACM大赛题目).(可查阅:吕国英,任瑞征等编著,算法设计与分析(第2版),清华大学出版社,2009年1月,第200-202页.提示:这是一个利用回溯算法的迷宫搜索类型问题,可参考类似问题的已有解法.题目11:化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以-1结束,输出找到的能量最大的原子团及能量数值.例如输入8,0,6,4,-2,-1,应输出原子团8,0,6,4,及能量数值18.(本题为2010年ACM大赛题目)(可查阅:吕国英,任瑞征等编著,算法设计与分析,清华大学出版社,2009年1月,第265-270页).提示:这是最大子段和问题.题目12:一刀可以把蛋糕分为两个部分,现在给出要分为两部分的面积的比值,希望求出切口的弦的长度.这里当然要假定蛋糕是一个圆,并设其半径为 1.例如,输入两部分比值为1:1,切口是直径,长为2;输入1:2,应输出1.9285;输入10:1,应输出1.4145.(本题为2010年ACM大赛题目)提示:计算半弦长,可以利用公式a2=2rh-h2,计算弓形面积,用公式s=0.5*xita*r*r-a*sqrt(r*r-a*a)。
C语言课程设计选题
C语言课程设计选题一、c语言课程设计选题如下(每个题目不能超过五人选择)1、课题:设计一个万年历功能要求:1.输入年份,并分段返回全年日历(包括年、月和周)。
2.注意闰年2、课题:设计简单的计算器功能要求:1.通过菜单选择实现。
判断采用加减乘除法。
选择规则后,输入两个要计算的数字并输出计算结果。
3.主题:做一个猜谜游戏。
功能要求:1、计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直到我猜2、猜中后给出所用的时间和评语4、课题:将任一整数转换为二进制形式功能要求:将任意整数转换成二进制形式,输出5。
主题:小学生考试大纲的功能要求:1、电脑随机出10道题,每题10分,程序结束时显示学生得分2、不能有负数3.每个问题有三次输入答案的机会。
当输入错误答案时,提醒学生重新输入,若三次机会结束则输出正确答案4、对于每道题,第一次输入正确答案得10分,第二次输入正确答案得7分,如果你第三次输入正确答案,你会得到5分,否则你不会得到5分。
如果总分超过90分,则显示“智能”,80-90:good70-80:ok60-70:pass60以下:tryagain6.主题:24个游戏功能要求:输入四个一位数,通过加减乘除,允许加入括号,计算出24,显示计算过程,并提示成功信息7、课题:大数相乘功能要求:1.大整数指超过十位的十进制整数。
这里很简单,假设不超过50位。
由于超界溢出,这种大整数在C语言系统中无法直接表达和计算。
您可以使用数组来表示大整数,并在此基础上编写程序来乘以大整数。
8.主题:从十六进制到十进制的转换功能要求:实现输入一个十六进制,转换为十进制的设计9、课题:位数大小排序功能要求:输入一个五位整数,将该整数中的五个值从大到小排序,形成一个新的五位整数,并输出该整数。
10.主题:回文的形成功能要求:取任意十进制整数,将其加回原始整数,得到一个新整数,然后重复上述步骤,最终得到一个回文数。
请进行程序验证。
《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个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷ 用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸ 对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;⑹ 设计一个菜单,至少具有上述操作要求的基本功能。
3 栈及其操作问题描述:栈(Stack):是限制在表的一端进行插入和删除操作的线性表。
c语言课课程设计题目
c语言课课程设计题目一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单C程序的能力,提高学生运用C语言解决实际问题的能力。
1.掌握C语言的基本语法和规则。
2.理解数据类型、变量和常量的概念及使用。
3.熟悉各种运算符的用法及其优先级。
4.掌握顺序结构、分支结构、循环结构等控制结构的使用。
5.了解函数的定义、声明和调用。
6.能够使用C语言编写简单的程序,进行基本的输入输出操作。
7.能够利用C语言进行基本的数学计算和逻辑判断。
8.能够运用C语言进行数据的排序和查找等操作。
情感态度价值观目标:1.培养学生对计算机编程的兴趣,激发学生主动学习和探究的热情。
2.培养学生解决问题的能力和创新精神,提高学生自信心和自我成就感。
3.培养学生团队协作意识,增强学生沟通能力和合作精神。
二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.C语言概述:介绍C语言的历史、特点和应用范围。
2.数据类型和变量:讲解整型、浮点型、字符型等数据类型的使用,以及变量的声明和初始化。
3.运算符和表达式:介绍算术运算符、关系运算符、逻辑运算符等,以及表达式的组成和计算。
4.控制结构:讲解顺序结构、分支结构(if-else)、循环结构(for、while)的使用和嵌套。
5.函数:介绍函数的定义、声明和调用,包括主函数、递归函数等。
6.输入输出操作:讲解printf()和scanf()函数的使用,以及文件的读写操作。
7.编程实践:通过实例讲解和练习,使学生掌握C语言编程的基本技巧和方法。
三、教学方法本课程采用多种教学方法相结合的方式,以提高学生的学习兴趣和主动性。
具体方法如下:1.讲授法:教师讲解C语言的基本概念、语法和编程技巧,引导学生掌握知识要点。
2.案例分析法:通过分析典型实例,使学生了解C语言在实际问题中的应用,提高学生的编程能力。
C语言课程设计选题
本文由植之小姐贡献 doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
C 语言课程设计任务书 1 题目: 题目:某学院教学信息管理系统 功能: 每一条记录包括一位教师的职工号、姓名、职称、性别、 门主讲课程( 功能:1、每一条记录包括一位教师的职工号、姓名、职称、性别、3 门主讲课程(课程名 开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。
),教学效果综合评分 称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。
输入功能:可以一次完成若干条记录的输入。
2、输入功能:可以一次完成若干条记录的输入。
显示功能:完成全部教师记录的显示。
3、显示功能:完成全部教师记录的显示。
查找功能:完成按姓名或课程查找教师的相关记录,并显示。
4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。
排序功能:按职工号或教学效果综合评分进行排序。
5、排序功能:按职工号或教学效果综合评分进行排序。
插入功能:按教学效果综合评分高低插入一条教师记录。
6、插入功能:按教学效果综合评分高低插入一条教师记录。
将教师记录存在文件中。
7、将教师记录存在文件中。
应提供一个界面来调用各个功能 来调用各个功能, 8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰 美观! 美观! 要求: 语言实现系统; 要求:1、用 C 语言实现系统; 利用结构体数组实现教学信息的数据结构设计; 2、利用结构体数组实现教学信息的数据结构设计; 系统具有增加,查询,插入,排序等基本功能; 3、系统具有增加,查询,插入,排序等基本功能; 系统的各个功能模块要求用函数的形式实现; 4、系统的各个功能模块要求用函数的形式实现; 将教学信息存在文件中。
5、将教学信息存在文件中。
课程设计的最后成果是实验报告一份,内容包括: 课程设计的最后成果是实验报告一份,内容包括: 预习报告(题目、流程图、程序的设计思想等) 1、预习报告(题目、流程图、程序的设计思想等) ; 实验总结报告(测试方案、源程序代码(需打印) 调试中问题及解决方案、 、调试中问题及解决方案 2、实验总结报告(测试方案、源程序代码(需打印) 调试中问题及解决方案、小 、 结等) 结等) 。
C语言课程设计-进制转换
沈阳航空航天大学课程设计报告课程设计名称:C语言课程设计课程设计题目:二、八、十、进制转换程序院(系):计算机学院专业:计算机科学与技术(物联网方向) 班级:34010105学号:姓名:指导教师:完成日期:2014年3月7日沈阳航空航天大学课程设计报告目录第1章需求设计 (1)1.1课程设计任务 (1)1.2设计环境与开发语言 (2)第2章程序设计 (3)2.1概要设计 (3)2.1.1总体模块图 (3)2.1.2函数 (3)2.2详细设计 (4)第3章程序调试分析 (13)3.1出现的错误 (13)3.2运行的结果 (13)第4章用户手册 (15)4.1程序功能 (15)4.2存在的缺陷 (15)参考文献 (16)附录(程序清单) (17)第1章需求设计1.1 课程设计任务设计一个简单的程序,可以实现以下各进制之间的转换。
1.因为要进行进制间的6次转换所以要采用switch语句有选择的进行进制转换程序。
2.二进制到八进制;直接将二进制转化为八进制需要三位一截取不足三位补零,较为麻烦所以采用先将二进制转化为十进制再转化为八进制的方法解决问题。
二进制转化为十进制将输入的二进制数存入字符数组中,存入多少位数,求出相应位数2的幂次再乘以1或0将每一位对应得到的十进制数累加,即可得到相应的十进制数。
将十进制数转化为八进制数,将0到7存到一个字符数组中判断输入的数是否大于7若大于7,则将该数除8,再次进行判断,直到输入的数小于等于7,输出该数对8取余数对应的一维数组中的字符,即可得到八进制数。
3.二进制到十进制;二进制转化为十进制将输入的二进制数存入字符数组中,存入多少位数,求出相应位数2的幂次再乘以1或0将每一位对应得到的十进制数累加,即为十进制数。
4.二进制到十六进制;与二进制转化为八进制类似,先将二进制转化为十进制。
再将十进制数转化为十六进制数,将0到9,A到F存到一个字符数组中判断输入的数是否大于15若大于15,则将该数除16,再次进行判断,直到输入的数小于等于15,输出该数对16取余数对应的一维数组中的字符,即可得到十六进制数。
C语言课程设计题目汇总
C语言课程设计题目汇总在C语言学习过程中,课程设计是一项重要的任务,它能够帮助学生巩固所学知识,培养实践能力。
下面是一些常见的C语言课程设计题目汇总,供同学们参考和实践。
1. 学生成绩管理系统设计一个学生成绩管理系统,要求能够记录学生的信息,包括学号、姓名和各科成绩。
系统能够实现添加学生信息、删除学生信息、查询学生成绩、计算平均成绩等功能。
2. 图书管理系统设计一个图书管理系统,要求能够记录图书的信息,包括书名、作者、出版社等。
系统能够实现添加图书信息、删除图书信息、查询图书信息、借阅图书等功能。
3. 学生选课系统设计一个学生选课系统,要求能够记录学生的选课信息,包括学生姓名、选课科目、上课时间等。
系统能够实现学生选课、退选课程、查询已选课程等功能。
4. 考试成绩分析系统设计一个考试成绩分析系统,要求能够读取学生的考试成绩,计算平均分、最高分、最低分等统计数据,并能够按照分数进行排名。
5. 电话簿管理系统设计一个电话簿管理系统,要求能够记录联系人的姓名、电话号码等信息。
系统能够实现添加联系人、删除联系人、查询联系人等功能。
6. 学生信息管理系统设计一个学生信息管理系统,要求能够记录学生的基本信息,包括学号、姓名、性别、年龄等。
系统能够实现添加学生信息、删除学生信息、查询学生信息等功能。
7. 银行账户管理系统设计一个银行账户管理系统,要求能够记录用户的账户信息,包括账号、姓名、余额等。
系统能够实现存款、取款、查询余额等功能。
8. 学生成绩排名系统设计一个学生成绩排名系统,要求能够读取学生的考试成绩,根据成绩进行排名,并能够显示每个学生的排名和分数。
9. 图形绘制程序设计一个图形绘制程序,能够绘制常见的几何图形,如矩形、圆形、三角形等,并能够计算图形的面积和周长。
10. 简易计算器设计一个简易计算器程序,能够实现基本的数学运算,如加法、减法、乘法、除法等,并能够处理异常输入。
以上是一些常见的C语言课程设计题目汇总,希望对同学们的学习和实践有所帮助。
C语言程序设计课程设计练习题
解析:只能被1和本身整除的数为素数,设数n,用循环语句判断从2起到n-1的数是否被n整除,若没有可被n整除的数则n为素数。再依次找出100~1000之间的素数。
程序清单:
6.求解方程ax2+bx+c=0的根,其中a、b、c是键盘输入的双精度数。
解析:定义双精度变量a,b,c利用求根公式求解。
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
14.打印由*组成的九层高的等腰三角形。
解析:把三角形的顶点放在40列的位置,每行的输出开始位置比上一行提前一列,每行的输出星号数是上一行的2倍减去1.程序的外循环控制输出的行数,内循环是两个并列的循环,前一个循环输出每行前面的空格,后面一个循环输出改行的星号,星号输出结束后换行。
空格数:6
数字数:3
其他字符数:5
18.编写一个程序,输入x,当x>0,输出y=1,当x<0,输出y=-1,当x=0,输出y=0。
解析:用if语句的嵌套。
程序清单:
#include <stdio.h>
int main(void)
{
int x;
printf("input x=");
scanf("%d",&x);
printf("the min is:%d\n",a[0]);
return 0;
}
运行结果:
input 10 numbers:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计
一、基本要求题目
1、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。
直到最后只剩下一个人为止。
问此人原来的位置是多少号。
二、程序改错题
程序1:
main()
{
int x=1; y;
y=x++;
printf("y=%d ",y);
int z;
z=++x;
print("z=%d\n",z);
三、综合题目
设计课题:设计实现K均值聚类算法
一、问题描述:
K均值(K-means)聚类算法是无监督聚类(聚类(clustering)是将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇(cluster)”)算法中的一种,也是最常用的聚类算法。
K表示类别数,Means表示均值。
K-means 主要思想是在给定K值和若干样本(点)的情况下,把每个样本(点)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。
二、功能要求:
a.将数据集的数据,分别聚成2,3,4类,观察分析实验结果。
b.数据集如下所示。
-25 22.2 35.34
31.2 -14.4 23
32.02 -23 24.44
-25.35 36.3 -33.34
-20.2 27.333 -28.22
-15.66 17.33 -23.33
26.3 -31.34 16.3
-22.544 16.2 -32.22
12.2 -15.22 22.11
-41.241 25.232 -35.338
-22.22 45.22 23.55
-34.22 50.14 30.98
15.23 -30.11 20.987
-32.5 15.3 -25.22
-38.97 20.11 33.22
三、算法提示:
(1)随机选取K个初始cluster center
(2)分别计算所有样本到这K个cluster center的距离(欧氏距离)
(3)如果样本离cluster center Ci最近,那么这个样本属于Ci点簇;如果到多个cluster center的距离相等,则可划分到任意簇中
(4)按距离对所有样本分完簇之后,计算每个簇的均值(最简单的方法就是求样本每个维度的平均值),作为新的cluster center
(5)重复(b)(c)(d)直到新的cluster center和上轮cluster center变化很小或者达到指定的迭代次数,算法结束
四、其它:
对该算法有兴趣的同学可以在实现上述基本功能后,进行算法的改进优化,使其分类性能提高。