C语言课程设计 200行代码 -学生成绩查询系统.doc
- 格式:doc
- 大小:45.00 KB
- 文档页数:6
c语言程序代码200行下面是一个示例的 C 语言程序,包含大约 200 行代码: c.#include <stdio.h>。
// 定义一个结构体来表示学生信息。
struct Student {。
char name[50];int age;float score;};int main() {。
// 创建一个学生数组,存储多个学生信息。
struct Student students[5];// 通过循环依次输入学生信息。
for (int i = 0; i < 5; i++) {。
printf("请输入第 %d 个学生的姓名,", i + 1); scanf("%s", students[i].name);printf("请输入第 %d 个学生的年龄,", i + 1); scanf("%d", &students[i].age);printf("请输入第 %d 个学生的成绩,", i + 1); scanf("%f", &students[i].score);}。
// 输出学生信息。
printf("\n学生信息如下,\n");for (int i = 0; i < 5; i++) {。
printf("姓名,%s\n", students[i].name);printf("年龄,%d\n", students[i].age);printf("成绩,%.2f\n", students[i].score);printf("\n");}。
return 0;}。
这个示例程序演示了如何使用 C 语言来创建一个学生信息的管理系统。
程序使用了结构体来表示学生的姓名、年龄和成绩,通过循环依次输入多个学生的信息,并最后输出这些学生的信息。
计算机与通信工程学院中加计算机专业培养方案与课程概况(2014)课程设置一年级第二学期二年级第一学期二年级第二学期三年级第一学期四年级第一学期四年级第二学期课程概况:一年级第一学期1590116 高等数学1 6学分参考教材:《高等数学第六版上册》同济大学数学系编高等教育出版社曾经讲授此门课程的教师:理学院教师讲课进度:上册1-6章下册第8章预计班容量:3个自然班100人课次:每周3次课(6课时)考试形式:期中考试由老师自行安排,期末统考笔试。
讲课内容:集合,导数,微分,一元函数积分,空间向量。
提示:本课程为全校统一课程,大学最重要的一门课程,不论是课程内容还是讲课速度和方式与高中讲课相比都有质的不同。
对于刚刚进入大学校园不适应大学学习的同学而言难度比较大,挂科率也比较高。
课程配有一本《高等数学同步练习册》,天津理工大学理学院编,活页,老师会用这个留作业,一周收一次。
1590046 线性代数3学分参考教材:《线性代数与空间解析几何(第2版)》薛方津主编天津大学出版社曾经讲授此门课程的教师:理学院教师讲课进度:1-5章,第8章第1-3节预计班容量:3个自然班100人课次:每周2次课(4课时)考试形式:期中考试由老师自行安排,期末统考笔试。
讲课内容:行列式,矩阵,线性方程组,二次型。
提示:本课程为全校统一课程,难度比高等数学略高,课程所用的教材为天津理工大学理学院的老师编写的,课程配有一本《线性代数同步练习册》,天津理工大学理学院编,活页,留作业用。
想要考研的同学可以参考以下教材:《工程数学线性代数第五版》同济大学数学系编高等教育出版社《线性代数第2版》居余马编著清华大学出版社1090010 大学英语1 4学分参考教材:因年度而异曾经讲授此门课程的教师:外国语学院教师讲课进度:全册教材预计班容量:2个自然班60人课次:每周2次课(4课时)考试形式:期末统考闭卷笔试,带听力。
提示:本课程为全校统一课程,分阅读和听力两种课型。
电力系统分析课程设计报告题目: 电力系统三相对称短路计算专业: 电气工程及其自动化班级:姓名:学号:指导教师:目录电力系统分析........................................................................................................................... - 0 -第一章设计目的与任务 ......................................................................................................... - 2 -1.1设计目的.................................................................................................................... - 2 -1.2设计任务.................................................................................................................... - 2 -第二章基础理论与原理 ......................................................................................................... - 2 -2.1 对称短路计算的基本方法 ....................................................................................... - 2 -2.2 用节点阻抗矩阵的计算方法 ................................................................................... - 4 -2.3 用节点导纳矩阵的计算方法 ................................................................................... - 6 -2.4 用三角分解法求解节点阻抗矩阵 ........................................................................... - 7 -2.5 短路发生在线路上任意处的计算方法 ................................................................... - 8 -第三章程序设计..................................................................................................................... - 9 -3.1 变量说明................................................................................................................... - 9 -3.2 程序流程图............................................................................................................. - 10 -3.2.1主程序流程图 .............................................................................................. - 11 -3.2.2导纳矩阵流程图 .......................................................................................... - 12 -3.2.3三角分解法流程图 ...................................................................................... - 13 -3.3 程序源代码见附录1 ............................................................................................ - 14 -第四章结果分析................................................................................................................... - 14 -第五章收获与建议............................................................................................................... - 15 -参考文献................................................................................................................................. - 17 -附录......................................................................................................................................... - 17 -附录1: 程序源代码..................................................................................................... - 18 - 附录2: 测试系统数据与系统图 ................................................................................... - 23 - 附录3: 测试系统的运行结果- 25 -第一章设计目的与任务1.1设计目的1、加深理解并巩固电力系统发生短路的基本知识。
武汉科技大学城市学院课程设计报告课程设计名称Java课程设计题目ACM院系信息工程系专业班级姓名指导教师2019 年月日课程设计评分表任务书: Java & ACM在线评测1. 课程设计教学条件要求Eclipse2. 课程设计任务每个同学登录科技大学城市学院ACM10.10.4.55,点击作业,查看2019java课程设计,里面有13个测试题,要求在线完成8-12道题,每题写出解题报告,解题报告容:1.题目标题2.题目描述3.解题思路4.源码5.小结每个题目详细书写解题报告,一题多解的可以加分!!!3.课程设计参考资料[1]罗玉龙.java程序设计. :科学. 2012[2] 何玉洁. 数据库原理与应用教程. :机械工业.2003[3] 罗志高. 数据库原理与应用教程. :人民邮电.2003目录第1题小光棍数 (6)1.1题目描述 (6)1.2解题思路 (6)1.3解决方案 (7)1.4小结 (7)第2题寻找数列 (8)2.1题目描述 (8)2.2解题思路 (8)2.3解决方案 (9)2.4小结 (9)第3题奖学金 (10)3.1题目描述 (10)3.2解题思路 (11)3.3解决方案 (11)3.4小结 (12)第4题黄金分割数 (13)4.1题目描述 (13)4.2解题思路 (13)4.3解决方案 (14)4.4小结 (14)第5题星系炸弹--6TH 蓝桥杯C本科B组第二题 (15)5.1题目描述 (15)5.2解题思路 (15)5.3解决方案 (16)5.4小结 (16)第6题零起点学算法58---开灯问题 (17)6.1题目描述 (17)6.2解题思路 (17)6.3解决方案 (18)6.4小结 (18)第7题华科版C语言程序设计教程(第二版)习题5.7 (19)7.1题目描述 (19)7.2解题思路 (19)7.3解决方案 (20)7.4小结 (20)第8题整数划分1 (21)8.1题目描述 (21)8.2解题思路 (21)8.3解决方案 (22)8.4小结 (22)第1题小光棍数1.1题目描述为了迎接一年一度光棍节的到来,让我们一起来看看小光棍数吧。
机电一体化课程设计说明书题目:智能鱼缸设计班级:机电一体化11-9班组长:组员:(按拼音先后排序)二〇一四年十月摘要随着社会的发展和人们生活质量的提高,越来越多的人喜欢饲养观赏鱼。
但如果由于某些原因忽视了对观赏鱼的照顾,观赏鱼则有可能因饥饿或鱼缸内生态环境变坏而死亡。
因此,设计一款智能鱼缸系统是非常必要的。
本文设计了一款基于单片机的智能鱼缸系统。
本设计选用Arduino UNO单片机作为自动喂养系统的控制核心,用传感器采集鱼缸内的环境参数。
经数据处理后,单片机向各执行机构传送控制信号,实现自动喂食和对鱼缸内温度、水位等环境因素的自动控制,从而为观赏鱼创造一个良好的生存环境。
本设计采用了模块化的设计方法,主要包括主控芯片模块、喂食器模块、温度控制模块、水位控制模块和换水模块。
本设计集众多功能于一身,具有结构小巧,操作简便,成本低廉等优点,可以广泛应用于观赏鱼的饲养。
关键词:自动喂食器结构;单片机;传感器;自动控制;驱动电路;C 语言目录摘要 (I)目录 (II)第一章绪论 (1)1.1研究目的 (1)1.2国内外研究现状 (1)1.3研究的主要内容和目标 (1)第二章模块方案选择与论证 (2)2.1硬件框图 (2)2.2主控芯片模块 (2)2.3温度测量模块 (3)2.4水位检测模块 (3)2.5喂食器模块 (3)2.6换水模块 (4)2.7显示模块 (5)第三章各模块的具体设计 (7)3.1控制模块 (7)3.2温度测量模块 (7)3.3水位检测模块 (8)3.4电机模块 (9)3.5喂食器模块 (12)3.6显示模块 (14)第四章系统原理图 (15)第五章结论 (18)5.1设计总结 (18)5.2创新点 ......................................................................................... 错误!未定义书签。
经编译程序运行后得到的输出结果如下:
1〕词法分析得出的相应的名字的号码和他的值2〕列举程序中所有的变量
3〕状态栈的移进-归约过程1.
4〕最后产生的四元式中间代码
一、实验总结:
通过此次实验,让我知道了词法分析的功能是输出把它组织成单个程序,让我理解到如何设计、编制并调试词法分析程序,加深对词法分析原理的理解;对语法规那么有明确的定义;编写的分析程序可以进展正确的语法分析;对于遇到的语法错误,可以做出简单的错误处理,给出简单的错误提示,保证顺利完成语法分析过程;实验报告要求用文法的形式对语法定义做出详细说明,说明语法分析程序的工作过程,说明错误处理的实现。
通过该实验的操作,我理解编译原理课程兼有很强的理论性和理论性,是计算机专业的一门非常重要的专业根底课程,它在系统软件中占有非常重要的地位,是计算机专业学生的一门主修课。
为了让学生可以更好地掌握编译原理的根本理论和编译程序构造的根本方法和技巧,融会贯穿本课程所学专业理论知识,进步他们的软件设计才能,。
C 语言课程设计(小游戏贪吃蛇得程序设计报告)设计人:班级:201年月号目录一:概述1:研究背景及意义2:设计得任务与需要知识点3:具体完成设计内容二:需求分析1:功能需求2:操作方法三:总体设计1:模块划分2:数据结构设计四:详细设计1:主空摸块设计2:绘制游戏界面3:游戏得具体过程4:游戏得结束处理5:显示排行榜信息模块五:程序得调试与测试1:动画与音乐同步2:蛇得运行3:终止程序六:结论七::结束语八:程序清单九:参考文献一. 概述本课程设计以软件工程方法为指导,采用了结构化,模块化得程序设计方法,以C语言技术为基础,使用TurboC++3、0为主要开发工具,对贪吃蛇游戏进行了需求分析,总体设计,详细设计,最终完成系统得实现与测试。
1、1 研究得背景及意义随着社会得发展,人们生活得节奏日益加快,越来越多得人加入了全球化得世界。
人们不再拘泥与一小块天地,加班,出差成了现代人不可避免得公务。
而此时一款可以随时随地娱乐得游戏成为了人们得需要。
此次课程设计完成得贪吃蛇小游戏,正就是为了满足上述需求而设计出来得。
贪吃蛇游戏虽小,却设计诸多得知识点。
通过开发贪吃蛇游戏系统,可使读者初步了解使用软件工程得与那个发,技术与工具开发软件得过程,进一步掌握结构化,模块化得程序设计方法与步骤,进一步掌握总体数据结构设计,模块划分方法,掌握局部变量,全局变量,结构体,共用体,数组,指针,文件等数据结构得使用方法,掌握图形,声音,随机数等多种库函数得使用方法,学习动画,音乐,窗口,菜单,键盘等多项编程技术,进一步学会软件调试,测试,组装等软件测试方法,为后续课程得学习与将来实际软件开发打下坚实得基础。
1、2设计得任务与需要得知识点1、2、1 课程设计主要完成得任务1)、通过编写“贪吃蛇游戏”程序,掌握结构化,模块块化程序设计得思想,培养解决实际问题得能力。
2)有同步播放动画,声音效果。
3)设计好数组元素与蛇,食物得对应关系。
沈阳工程学院课程设计设计题目: 电子词典系别信息工程系班级计本083 学生姓名学号 22指导教师姜柳、吕海华职称讲师、讲师起止日期:2009年6月15日起——2009年6月26日止ﻬ沈阳工程学院课程设计任务书课程设计题目: 电子词典(第1组)系别信息工程系班级计本075学生姓名于满盛学号 200指导教师姜柳、吕海华职称讲师、讲师课程设计进行地点:实训F任务下达时间: 2009年6月 15日起止日期:2009年6月15日起——2009年6月26日止教研室主任姜柳 2009年6月15日批准一、课程设计的原始资料及依据在计算机中建立有限规模的电子英汉词典,利用程序实现电子英汉词典的查找、增加、删除、修改等功能。
查阅有关资料,进一步理解程序设计模块化的思想,并利用此思想编写一个简单的电子词典。
通过本设计可以加深理解利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。
二、课程设计主要内容及要求1.认真阅读资料,掌握程序设计模块化的思想。
2.要求在设计的过程中,建立清晰的层次结构。
3.画出主要的功能结构图和主要模块的流程图。
4.实现功能:⑴查找单词。
⑵增加单词。
⑶万年历⑷修改单词。
⑸显示单词。
⑹保存单词。
⑺返回⑻帮助⑼退出5. 要求操作简单,用户界面友好。
6. 运行程序,检查结果是否和理论值一致。
7. 环境使用Windows,TurboC环境。
三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。
一般不应少于3000字。
2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
错误!未找到目录项。
之蔡仲巾千创作C程序课程设计陈述二○一五年六月预习陈述一:设计题目银行存取款管理设计二:功能要求①能够添加和修改以及删除客户文件。
(在客户文件中,每个客户是一条记录,包含编号、客户姓名、支取密码、客户地址、客户电话、账户总金额)。
②能够输入和查询客户存款取款记录。
(在存取款文件中,每次存取款是一条记录,包含编号、日期、类别、存取数目、经办人。
类别分为取款和存款两种)。
③能够给程序提供运行提示。
三:设计要求①、用C 语言实现系统;②、函数功能要划分好(结构化程序设计); ③、界面友好(良好的人机交互),加需要的注释;④、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不克不及运行的程序是没有价值的。
四:设计目的①、通过这次课程设计,使我们更加深入地理解和掌握C 语言基本概念,切身体会用结构化程序设计的工程思想,感受C 语言的魅力。
②、通过这次课程设计,培养我们独立思考、勇于探索、积极创新、严谨求实、有过必改的工作态度以及较熟的上级操纵能力,同时加强我们团结友爱,协作攻关的团队合作意识。
客户资料添加与操纵主菜单;客户资料查询函数;void kehu2(struct cou *p,char *re,long h); 客户资料添加函数;void kehu3(struct cou *p,char *re,long h); 客户资料修改函数;void kehu4(struct cou *p,char *re,long h); 客户资料清楚函数;void kehup(struct cou *p,char *re,long *h); 客户资料打印函数;void cunq1(); 存取款筹划选择主菜单;void cunq11(struct cou *p,char *re,long h);客户存款资料的键入;void cunq12(struct cou *p,char *re,long h); 客户取款资料的键入;void cunq2(); 存取款选择查询主菜单;void cunq211(struct cou p[],char *re,long *h);把顾客存款资料从文件读到缓冲区;void cunq212(struct cou *p,char *re,long *h); 打印存款资料;void cunq221(struct cou p[],char *re,long *h);把顾客取款资料从文件读到缓冲区;void cunq222(struct cou *p,char *re,long *h); 打印取款资料;void help(); 使用说明模块。
封面作者: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语言的基本语法和数据结构。
•理解函数的定义和调用。
•学习模块化编程和文件操作。
•能够使用C语言编写简单的程序。
•学会调试和优化代码。
•具备基本的算法设计能力。
情感态度价值观目标:•培养学生对计算机科学的兴趣和好奇心。
•强调团队合作和互相学习的重要性。
•培养学生的创新意识和解决问题的决心。
二、教学内容本课程的教学内容将依据C语言的基本概念和医院预约系统的需求进行。
具体安排如下:•引言:介绍C语言的背景和医院预约系统的目的。
•基本语法:数据类型、运算符、控制结构等。
•数据结构:数组、链表、栈和队列等。
•函数:函数的定义、调用、参数传递和返回值。
•模块化编程:文件操作和模块的编写。
•医院预约系统设计:需求分析、系统设计和实现。
三、教学方法为了提高学生的学习效果和兴趣,将采用多种教学方法相结合的方式进行教学。
包括:•讲授法:讲解C语言的基本概念和语法。
•案例分析法:通过分析医院预约系统的案例,引导学生理解和应用所学知识。
•实验法:让学生通过编写和调试程序,加深对C语言的理解和运用。
•小组讨论法:鼓励学生进行合作学习和问题讨论。
四、教学资源为了支持教学内容的有效传授和学生的深入学习,将准备以下教学资源:•教材:选择适合学生水平的C语言教材。
•多媒体资料:提供相关的教学PPT和视频资料。
•实验设备:提供计算机实验室,让学生进行编程实践。
•在线资源:推荐一些在线编程平台和论坛,供学生交流和学习。
五、教学评估为了全面、客观地评估学生在医院预约系统设计课程中的学习成果,将采用以下评估方式:平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的课堂表现和参与度。
作业:布置与课程内容相关的编程作业,评估学生的编程能力和对知识的掌握程度。
项目:让学生参与医院预约系统的设计和实现,评估学生的系统设计和编程能力。
代码#include<stdio.h>#include<graphics.h>void initg(void){int gdriver=DETECT, gmode;/*图形屏幕初始化*/initgraph(&gdriver, &gmode, "");}void listcall24(char *s){FILE *fp,*hk;char buffer[72];/*buffer用来存储一个汉字*/register i,j,k;unsigned char qh,wh;unsigned long address;if((hk=fopen("MYHZK24","wb"))==NULL)/*以只写方式打开文件*/{printf("Can't write MYHZK24!");getch();exit(0);}if((fp=fopen("HZK24","rb"))==NULL)/*以只读方式打开文件*/{printf("Can't open HZK24!");getch();/*按任意键继续,不可缺*/exit(0);}while(*s){qh=*s-0xa0;/*汉字区位码*/wh=*(s+1)-0xa0;/*汉字区位码*/address=(94*(qh-16)+(wh-1))*72L;/*计算该汉字在字库中偏移量*/fseek(fp,address,SEEK_SET);/*文件中偏移位置*/fread(buffer,72,1,fp);/*取出汉字32字节的点阵字模存入buffer中(一个汉字)*/fwrite(buffer,72,1,hk);s+=2;/*因为一个汉字内码占用两个字节,所以s必须加2*/ }fclose(fp);/*关闭文件*/fclose(hk);}void print24(int x,int y,char *s,int colour){FILE *fp;char buffer[72];/*buffer用来存储一个汉字*/register i,j,k,num;unsigned long address;if((fp=fopen("MYHZK24","rb"))==NULL){printf("Can't open HZK24!");getch();exit(0);}num=0;while(*s){address=num*72;num++;fseek(fp,address,SEEK_SET);/*文件中偏移位置*/fread(buffer,72,1,fp);/*取出汉字32字节的点阵字模存入buffer中(一个汉字)*/for(i=0;i<24;i++)/*将72位字节的点阵按位在屏幕上打印出来,显示16点阵汉字*/for(j=0;j<3;j++)for(k=0;k<8;k++){if(((buffer[i*3+j]>>(7-k)&0x1))!=NULL)putpixel(y+i,x+8*j+k,colour);}s+=2;/*因为一个汉字内码占用两个字节,所以s必须加2*/y+=24;}fclose(fp);}main(){initg();/*图形屏幕初始化*/listcall24("丽水学院计算机与信息工程学院");/*24点阵汉字库的建立。
数字信号处理课程设计题目:通过重叠相加法实现卷积院系:自动化与信息工程学院专业:通信工程班级:通信092学号:3090432051姓名:侯鹏指导教师:吴鹏飞2012年6月23日-2012年6月30日设计任务通过重叠相加法实现卷积(C语言或MATLAB实现)。
计算一个给定序列与输入序列的卷积。
功能对给定的数据进行卷积计算,要求分算卷积由循环卷积实现要求设计有数据导入界面,各种参数可以由软件界面输入,其中给定序列可以由界面输入,对运算前后的数据绘制曲线。
设计步骤:1)初步完成总体设计,搭好框架,确定人机对话界面,确定函数功能,控制参数的输入方法;2)设计线性卷积的实现方案;3)编写两序列做循环卷积的程序;4)通过直接作线性卷积来检验最后结果;设计要求:1)用结构化设计方法。
一个程序划分成若干模块,每一个模块的函数功能要划分好,总体设计要画出流程图;2)输入输出界面要友好;3)源程序书写要规范,加必要的注释;4)要提供直接通过卷积进行检验的结果;5)程序一定要能运行起来。
课程设计的最后结果是提交一份实验报告,内容包括:1)程序的设计思想,包括功能描述,函数接口的确定;2)流程图;3)程序源代码(需打印);4)测试方法和结果;5)小结。
一、原理<一>设计思想:运用分段处理方法中的重叠相加法计算两个序列的卷积运算。
设一个给定序列是长度为n1的A,另一个导入序列是长度为n2的B,其中B 序列 是相对A 序列比较长的,所以可以把B 分为和A 一样长的若干段段,即B 分后每一小段长度为n1。
根据书上的公式:)()(*)()(*)()(*)()(0n y n x n A n B n A n B n A n y k k k k k k ∑∑∑∞-∞=∞=====可知将B 序列的每一小段与A 序列做现行卷积,然后将所有的n2/n1段的线性卷积结果相加起来就是整个B 序列和A 序列的线性卷积结果,而又在本设计中,B 序列的一小段和A 序列的线性卷积又可由循环卷积来实现,只要让循环卷积的点数121-+≥n n L ,循环卷积的结果就和线性卷积的结果等价,在本实验中取112-⨯=n L ,故A 序列和B 序列的线性卷积可认为是由A 序列和B 的每一小段做112-⨯=n L 点的循环卷积的最终累加和,另外还有两个个问题需要考虑,首先是做循环卷积时要对A 序列和B 序列的那一小段补零做卷积后,最终做累加的时候要考虑重叠的片段,必须将重叠的两段加起来。
贪吃蛇课程设计报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】目录1.课程设计目的 (3)2.课程设计任务与要求 (3)课程设计内容 (3)课程设计要求 (3)课程设计环境 (3)3.课程设计方案 (3)方案论证 (3)程序整体设计说明 (3)设计思路 (4)设计总体流程图 (4)设计的具体实现 (5)4.程序测试 (8)测试内容与结果 (8)程序运行效果图 (9)5.课程设计总结 (10)6.参考文献 (11)附录源程序 (11)1.课程设计目的:●复习、巩固才C、C++的基础知识,进一步加深对VC技术的理解和掌握;●课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
●培养学生在项目开发中团队合作精神、创新意识及能力2.课程设计任务与要求课程设计内容贪吃蛇游戏开发,首先它可以为大家提供一种当前比较流行的休闲小游戏。
贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着很多人,它的制作方法对于很多同学而言都是很神秘的。
所以我们希望通过这学期所学知识把它剖析开来,真真正正的了解它的本质和精髓。
在这次学习中我们将从实践和实际的项目中提高自己的编程能力。
因此决定选择这个题目作为VC的课程设计。
最后一部分就是游戏的模块划分,根据分析,贪吃蛇这个程序一共要实现如下几个功能,包括游戏方面开始游戏、暂停游戏以及停止游戏,游戏设置(蛇的颜色、食物的颜色操作说明等)与积分。
课程设计要求●对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;●系统设计要实用,采用模块化程序设计方法,编程简练、可用,功能全面;●说明书、流程图要清楚;●记录设计情况(备查,也为编写设计说明书作好准备);课程设计环境Windows7操作系统,开发环境。
目录一.绪论 (2)1.1开发背景 (2)1.2开发平台 (2)二.功能描述 (5)三.基本原理 (5)四.系统总体设计 (6)4.1相关初始化 (6)4.2任务设计 (7)4.2.1任务设计要求 (7)4.2.2流程图 (8)五.硬件设计 (10)六.软件设计 (11)6.1移动功能的实现 (11)6.2判断吃否吃到豆子 (13)6.3画豆子 (16)6.4声音的播放 (17)6.5数码管的点亮 (19)6.6判断游戏进程 (20)6.7加速,计分,计时功能 (22)6.8监听键盘 (23)七.系统测试 (24)7.1界面 (24)7.2运行结果与不足之处 (26)八.小结 (27)九.参考文献 (28)部分源代码 (29)一.绪论1.1开发背景贪吃蛇是一款常见的小游戏,简单有趣,深受人们的喜爱,本项目作为学习软件文档写作和简单游戏编程而提出。
希望通过《贪吃蛇》游戏软件设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧,同时提高嵌入式设计的能力。
1.2开发平台1.知识储备嵌入式实时操作系统µC/OS-II简介µC/OS-II是一个抢占式实时多任务内核。
它是用ANSI的C 语言编写的,包含一小部分汇编语言代码,使之可以提供给不同架构的微处理器使用。
至今,从8位到64位,µC/OS-II已经在40多种不同架构的微处理器上使用。
使用µC/OS的领域包括:照相机行业、航空业、医疗器械、网络设备、自动提款机以及工业机器人等。
µC/OS-II全部以源代码的方式提供,大约有5500行。
CPU相关的部分使用的是针对Intel80x86微处理器的代码。
µC/OS-II可以很容易地移植到不同架构的嵌入式微处理器上。
µC/OS-II的特点:•源代码•可移植•可固化•可裁减•可抢占性•支持多任务•可确定性•任务栈•系统服务•中断管理•稳定性2.ARM简介采用RISC架构的ARM微处理器一般具有如下特点:●体积小、低功耗、低成本、高性能;●支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;●大量使用寄存器,指令执行速度更快;●大多数数据操作都在寄存器中完成;●寻址方式灵活简单,执行效率高;●指令长度固定;●ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:●31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。
软件技术设计报告书题目:水电费管理系统设计系部:信工系专业:计算机系统保护班级:12 级计维姓名:学号:2021年 7 月 20日目录一.任及内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1二.明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1三.的缺点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2四.心得与领悟⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3五.程序局部及程序原代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3六.行果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9水电费管理设计报告一.设计任务及内容【目的】:1. 掌握 C 语言程序的综合运用2.认识系统设计的根根源理3.掌握结构化程序的根本思想【设计要求】1.编写一个菜单实现驱动水电管理系统程序〔要求使用〕,实现相关功能。
2.本系统的整体思想基于结构化的程序设计,运用高级语言程序设计中的根本控制结构,重视实现管理系统的增加、删除、更正、查察等典型的管理系统3.水电费管理系统是为管理员进行用户成员用水电量及缴费信息管理进行计算、统计、记录的运用软件,其功能以下:(1)给管理员供应功能选择界面,该系统只针对管理员,因此无需登录,直接进入功能选择界面,功能选择界面包括输入功能选项,调用相应程序两大需求。
〔2〕管理用户信息:管理员可操作增加、查察、更正、删除用户信息,包括姓名、地址、用水量、用电量。
〔3〕查察用户缴费信息:能够查察每个用户应缴费的水费、电费,系统默认水费为 2 元/ 吨,电费为 0.8 元/ 度。
〔4〕统计总用费:能够统计总的电费、水费及总花销,便于收缴花销户进行检查、核实,省得出错。
二.设计说明〔一〕、水电费管理可分为 3 大模块1.用户管理2.功能选择3.用户缴费查察1〔二〕、流程图开始显示用户信息增加用户用户管理更正用户信息删除用户信息退出用户缴费信息盘问总水费收费管理总电费总花销退出退出三.设计的优缺点优缺点有:1.方便管理员管理用户的信息2.保密性强、检索迅速、查找方便等3.由于能够管理范围大,地址是应用输入,不能够进行选择,因此加大管理员的工作量4.只能输入一个月的信息,若是屡次输入同一个用户的信息,那么显2示最后输入信息,由于先前输入的信息已被覆盖。
程序设计百题程序设计基础课程设计2019程序设计课程实践编程百题要求:1、每道题都写出解题思路2、写出编程过程中⾃⼰碰到的问题,总结⼀下⾃⼰在解题过程中碰到的问题及解决⽅法。
3、保存所有题⽬的源代码,并保存输⼊输出的截图。
(注意测试⽤例需要包括临界值、覆盖所有程序分⽀)4、完成所有题⽬后编写总结报告(将所有题⽬的1-3步骤整理到⼀个⽂档,并总结)。
5、报告命名⽅式为学号+姓名+提交⽂档⽇期。
(注意⽂档命名,为按照规范命名的⽂档可能会收不到,⽆法记录成绩)基础题1、函数f(x)可表⽰为:2x+1 (x<0)f(x) = 0 (x=0)3x2-1 (x>0)编程实现输⼊⼀个x值,输出y值。
2、从键盘上输⼊⼀个百分制成绩score,按下列原则输出其等级:88≤score,等级为A;78≤score<88,等级为B;68≤score<78,等级为C;60≤score<68,等级为D;score<60,等级为E。
⽤switch实现。
3、在厨王争霸赛中,有12个评委为现场厨师打分,满分100。
每位厨师最后得分是:去掉⼀个最⾼分和⼀个最低分,求其余得分的平均值。
请编写⼀个程序实现。
4、猴⼦摘了⼀堆桃,第⼀天吃了⼀半,还嫌不过瘾,⼜吃了两个;第⼆天⼜吃了剩下的⼀半,然后⼜多吃了两个;以后每天如此。
到第n天,猴⼦⼀看只剩下三个了。
问最初有多少个桃⼦?5、问77777的约数中最⼤的三位数是多少?6、求77的23次⽅的最后三位数.(mod操作)7、在屏幕上显⽰杨辉三⾓形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 18、输⼊今年的任意两个⽇期,格式如“2018-09-10,2018-09-11”,计算两个⽇期间间隔的天数。
9、⼀辆卡车违反交通规则,撞⼈后逃跑。
现场有三⼈⽬击事件,但都没有记住车号,只记下车号的⼀些特征。
甲说:牌照的前两位数字是相同的;⼄说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是⼀个整数的平⽅。
功能:查询修改统计成绩。
#include <stdio.h>struct student /*成绩表的结构声明*/{int num;char name[15];char sex;float WuLi;float ShuXue;float YingYu;float KuaiJi;float totle;};/*定义6个学生的信息:*/#define STU_NUMBER 6 /*宏定义学生数为6*/struct student Stu[STU_NUMBER]={{101,"yuchen", 'F', 98,85,96,89,0},{102,"xiaotong", 'F', 99,91,90,93,0},{103,"likanglong",'M', 76,83,74,82,0},{104,"yinger", 'F', 88,76,89,77,0},{105,"fengjiao", 'F', 97,100,94,96,0},{106,"sunyao", 'M', 87,89,66,84,0} };int SelectMainMenu(); /*显示并选择主菜单。
返回:被选择的菜单项*//*所有的函数声明:*/void Show(); /*成绩查询模块*/void Modify(); /*成绩修改模块*/void Stat(); /*成绩统计模块*/void StatAve(float *AveWuLi,float *AveShuXue,float *AveYingYu,float *AveKuaiJi);/*统计平均分*/int FindStudent(int num); /*根据学号查找某一学生*/void SetAllTotle(); /*计算所有学生总分*/void SetTotle(int No); /*计算第No个学生总分*/void ShowAllStudent(); /*显示所有成绩*/void ShowTitle(); /*显示表头信息*/void ShowStudent(int No); /*显示第No个的学生信息*/void main(){int isend=0,password=0; /*程序结束标志量,0表示不结束,1表示结束*/SetAllTotle(); /*计算所有学生总分*/while(password!=666){printf("qing shu ru mi ma:\n");scanf("%d",&password);}{switch(SelectMainMenu()) /*显示并选择主菜单*/{case 1: /*成绩查询*/Show(); /*调用成绩查询函数*/break;case 2: /*成绩修改*/Modify(); /*调用成绩修改函数*/break;case 3: /*成绩统计*/Stat(); /*调用成绩统计函数*/break;case 4: /*退出系统*/printf("\nxie xie nin de shi yong,zai jian!\n\n");isend = 1; /*设置程序结束标志*/break;}if(isend) break; /*程序结束*/}}int SelectMainMenu() /*显示并选择主菜单。
返回:被选择的菜单项*/ {int menu_no=0;do /*显示并选择菜单*/{printf("=================================\n");printf(" <cheng ji guan li cheng xu>\n");printf(" zuo zhe:li yi man\n");printf("=================================\n");printf(" zhu cai dan:\n");printf(" 1 - cheng ji cha xun\n");printf(" 2 - cheng ji xiu gai\n");printf(" 3 - cheng ji tong ji\n");printf(" 4 - tui chu xi tong\n");printf(" qing xuan ze(1-4):");scanf("%d",&menu_no);}while(menu_no<1 && menu_no>4); /*直到选择出正确的序号*/ return menu_no;}void Show() /*成绩查询模块*/{int n,i;{printf("\n====cheng ji cha xun====\n");printf("qing shu ru xue hao(shu ru 0 tui chu cheng ji cha xun,shu ru 1 cha xun quan bu):");scanf("%d",&n);if(n==0) break; /*退出成绩查询模块*/if(n==1) ShowAllStudent(); /*显示所有成绩*/else if((i=FindStudent(n))>=0) /*找到学号为n的学生*/{ShowTitle(); /*显示表头信息*/ShowStudent(i); /*显示该学生信息*/}else printf("----zhao bu dao gai xue hao----\n");}}void Modify() /*成绩修改模块*/{int n,i,a;while(1){printf("\n====cheng ji xiu gai====\n");printf("qing shu ru xue hao(shu ru 0 tui chu cheng ji xiu gai):");scanf("%d",&n);if(n==0)break; /*退出成绩修改模块*/if((i=FindStudent(n))>=0) /*找到学号为n的学生*/{ShowTitle(); /*显示表头信息*/ShowStudent(i); /*显示该学生信息*/printf("qing shu ru yao xiu gai de cheng ji:\n");printf("1 WuLi\n");printf("2 ShuXue\n");printf("3 YingYu\n");printf("4 KuaiJi\n");scanf("%d", &a);switch(a){case 1:printf("qing shu ru WuLi cheng ji:\n");scanf("%f", &Stu[i].WuLi); break;case 2:printf("qing shu ru ShuXue cheng ji:\n");scanf("%f", &Stu[i].ShuXue);break;case 3:printf("qing shu ru YingYu cheng ji:\n");scanf("%f", &Stu[i].YingY u);break;case 4:printf("qing shu ru KuaiJi cheng ji:\n");scanf("%f", &Stu[i].KuaiJi);break;default:printf("shu ru cuo wu");}SetTotle(i); /*计算该学生总分*/printf("----xiu gai cheng gong----\n");}else printf("----zhao bu dao gai xue hao----\n");}}void Stat() /*成绩统计模块*/{float AveWuLi, AveShuXue, AveYingY u, AveKuaiJi;StatAve(&AveWuLi, &AveShuXue, &AveYingYu, &AveKuaiJi); /*统计四门课的班级平均分*/printf("\n====cheng ji tong ji====\n");printf("xue sheng ren shu:%d\n", STU_NUMBER);printf("WuLi ping jun fen:%6.2f\n", AveWuLi);printf("ShuXue ping jun fen:%6.2f\n", AveShuXue);printf("YingYu ping jun fen:%6.2f\n", AveYingYu);printf("KuaiJi ping jun fen:%6.2f\n", AveKuaiJi);}/*统计四门课的班级平均分,用指针参数返回*/void StatAve(float *AveWuLi, float *AveShuXue, float *AveYingYu, float *AveKuaiJi){int i;float sumWuLi=0, sumShuXue=0, sumYingYu=0, sumKuaiJi=0;for(i=0;i<STU_NUMBER;i++){sumWuLi += Stu[i].WuLi;sumShuXue += Stu[i].ShuXue;sumYingY u += Stu[i].YingYu;sumKuaiJi += Stu[i].KuaiJi;}*AveWuLi = sumWuLi / STU_NUMBER;*AveShuXue = sumShuXue / STU_NUMBER;*AveYingYu = sumYingYu / STU_NUMBER;*AveKuaiJi = sumKuaiJi / STU_NUMBER;}/*根据学号查找某一学生。