=n)//判断是否到了第n行,exit(0);//如果到了第n行,结束程序运行elsek=i+1;//没到第n行,那就k自加,k用来控制*前面的空格for(j=k;jfor(j=0;jprintf("*");printf("\n");" />

两个C语言编写的三角形图案小程序

两个C语言编写的三角形图案小程序
两个C语言编写的三角形图案小程序

#include

int main()

{

int i,j,k;

int n;

printf("\t想输出几行*图形:");

scanf("%d",&n);

for(i=0; i<2*n-1; i++)

{

if(i >= n) //判断是否到了第n行,

exit(0); //如果到了第n行,结束程序运行

else

k = i+1; //没到第n行,那就k自加,k用来控制*前面的空格

for(j = k; j < n; j++) //k值小了,输出的空格数增多,也就是越来越下面的行printf(" ");

for(j=0; j < 2*k-1; j++) //同理,星号也就跟空格的数相反

printf(" *");

printf("\n"); //执行一行,换行

}

return 0;

}

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迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目: C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

C语言程序课程设计猜数字游戏

C语言程序设计课程设计 : 自 动 化 级 : 名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2015年07月21日

一.引言 设计目的 复习和巩固C语言基础知识,进一步加深对C语言的理解和掌握。提高同学将课本上的理论知识和实际结合的能力,锻炼同学的分析解决实际问题的能力,提高同学团队合作的能力。使同学们善于观察和思考,善于合作,具备实践编程的基础素质,和实际问题分析的思考方式。 设计要求 在设计时充分地分析和理解问题本身,综合考虑系统功能,怎样使系统结构清晰、合理、简单和易于调试。然后详细设计,确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。最后认真完成课程设计说明书,并对设计方法,结果等进行总结。 充分地分析和理解问题本身,弄清要求做什么(What to do)。在确定解决方案框架过程中(How to do),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。 确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。 上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:(1)用一组测试数据手工执行程序;(2)通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。 二.基础题 题目 用选择法对10个数进行排序。 有一个已排好序的数组。现输入一个数,要求按原来的规律插入到原数组中。解题思路 程序的主要功能是对数组元素用排序函数按从小到大的顺序进行排序。 先定义一个10个元素的一维数组a[10],然后从电脑输入10个数(也就是对数组赋值),然后使用一次fun()函数,对这10个数进行排序;然后再定义一个11个元素的一维数组b[11],同时再从电脑输入一个数同a[10]一起赋值给b[11],然后再使用fun()函数,重新排序的到最后的有顺序的一组数据。 流程图 子函数流程图如图1所示:

《C语言程序设计》课程设计

《C语言程序设计》课程设计 刘力斌 一、意义和目的 C语言是光信息科学与技术专业的重要专业基础课。在很多后续课程中,都要使用到C语言。 学生通过对C语言的学习,已经具备了使用C语言编写简单的应用程序的能力。为了加强程序设计基础,开设课程设计课,使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,同时,为后续课程的学习夯实基础。 课程设计目的: 提高用程序设计解决实际问题的能力。 通过提出算法、指定输入输出来设计一个解决方案。 用C语言合理地开发两个简洁有效的程序代码来实现该设计。 测试程序是否工作且满足设计指标并评价其效率。 二、目标 完成本课程设计的学生应能在以下几方面证明你们的能力: A、分析问题。各种简单的与计算机有关的案例中所需要的输出结果,把大问题分解成小问题,使用自顶向下或类似设计方法给出模块化或计划。 B、提出算法执行特定任务。模块表示为算法,使用自顶向下或伪代码等设计手段将模块细化成更详细的成分,清楚地表明顺序、选择和重复等到控制结构。 C、把一个算法变为用C语言编写的结构化程序。 D、用合适的测试方法检查程序是否符合最初的要求,为不合适数据设计错误陷阱,并提供错误信息来帮助用户。 E、写出清晰的用户文档,确保用户或者通过遵循程序中的指示或者使用程序设计者编写的文档能成功地运行程序。 F、写出技术文档,对程序中主要标示符的含义或作用加以说明,并提供一个完整的程序流程图。 G、调试程序、测试数据过程成功。

三、要求 参加本课程设计的学生,应当认真完成本课程设计的全部过程。并以最终课程设计成果来证明其独立完成各种实际任务的能力。从而,反映出理解和运用本课程知识的水平和能力。 完成课程设计应提交如下文档: ①程序的总体设计和算法分析。 ②技术文档 ③用户文档 ④源程序代码清单。 ⑤测试数据和测试过程记录。 ⑥遇到的问题及解决方法分析。 四、选题 每人一个题,具体题目可以参考附录。 第一题:链表操作题(包括建立、插入、删除、打印等)(参考教材); 第二题:文件操作,具体题目最好是自拟。 如果选题确实有困难的同学,可参考后面参考题目来完成本课程设计(成绩要影响)。 五、评价 评价是检测学生理解问题和解决问题能力的一个重要手段,教师将根据学生提交的一套文件中,严格检查以下各项任务完成情况: 1、课程设计文档是否齐全。 2、程序的用户文档 如果在程序执行期间有足够的指导信息显示在屏幕上显示,这些用户文档可以是很简要的,也许只限于解释如何装入并运行程序。 3、问题或任务的陈述(描述问题,而且问题是合理原始的、应当包括输 入、输出及其预期范围。)是否正确。 4、问题的解决方案采取由顶向下设计的形式,在适当的地方使用伪代 码,把整个解决方案划分成若干模块。 5、程序完成后的代码应当加以注解。最少应清楚指出每一个模块。 6、用于检查程序的测试数据,或者对一个控制程序给出测试的例程。测 试应考虑探索通过程序的几条路径,在合适的地方选择打印输出来。 7、程序的技术文档

C语言程序设计课程设计(小结版)

《C语言程序设计》课程小结要求 一、小结内容 1.关键字小结: 表格形式列出所有32个关键字,简要说明其作用(1面)。auto 声明自动变量,缺省时编译器一般默认为auto int 声明整型变量 double 声明双精度变量 long 声明长整型变量 char 声明字符型变量 float 声明浮点型变量 short 声明短整型变量 signed 声明有符号类型变量 unsigned 声明无符号类型变量 struct 声明结构体变量 union 声明联合数据类型 enum 声明枚举类型 static 声明静态变量 switch 用于开关语句 case 开关语句分支 default 开关语句中的“其他”分支 break 跳出当前循环 register 声明寄存器变量 const 声明只读变量 volatile 说明变量在程序执行中可被隐含地改变 typedef 用以给数据类型取别名(当然还有其他作用) extern 声明变量是在其他文件正声明(也可以看做是引用变量) return 子程序返回语句(可以带参数,也可不带参数) void 声明函数无返回值或无参数,声明空类型指针 continue 结束当前循环,开始下一轮循环 do 循环语句的循环体 while 循环语句的循环条件

if 条件语句 else 条件语句否定分支(与 if 连用) for 一种循环语句(可意会不可言传) goto 无条件跳转语句 sizeof 计算对象所占内存空间大小 2.运算符小结:表格形式列出所有45个运算符的符号、名称、优先级、结合性、运算目数(1面)。

3.数据类型小结:表格形式列出11个基本类型的说明符、字节数、范围(1面)。

《C语言程序设计》课程设计教学大纲

《C语言程序设计》课程设计大纲 课程中文名称:C语言程序设计课程设计 课程英文名称:C language programming curriculum design 课程编号:090010031 适用专业:计算机、网络、信管、软件学时数:2周学分数:2 课程类别:必修应开课学期:第三学期 执笔者:安葳鹏审核人:基础教学部 批准人:高岩定稿日期:2013年5月7日 一、课程的目的和意义 《C语言程序设计》课程设计是在学习《C语言程序设计》课程之后进行的一个实践教学环节,学生运用所学的知识,在教师指导下,独立进行。课程设计的目的和意义是: 1、进一步加深对所学基本理论知识的理解和掌握,完善理论和实践的衔接;进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解; 2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 3、掌握C语言的编程技巧和上机调试程序的方法。 4、掌握程序设计的常用算法,培养学生运用所学知识分析问题,解决问题的能力。 二、课程设计基本要求 1.独立、按时、按质、按量完成本课程设计; 2.充分理解并掌握相关理论,熟悉程序设计的控制结构以及设计流程; 3.完成课程设计后,将设计任务书、设计说明书按要求装订成册。 三、设计内容及任务 原则上,学生从以下题目中任选一题进行课程设计。在课程设计指导老师的指导下,也可以选择其他题目,但要保证工作量,并满足课程设计的相关要求。

1、人机猜数游戏 由计算机“想”一个四位数,请人猜这个四位数是多少。人输入这个四位数后,计算机首先判断这四个数中有几个猜对了,并且在猜对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数为止。请编程实现该游戏,游戏结束时,显示人猜一个数用了几次。 提示:用库函数random()产生一个随机数。 2、编一程序,实现将输入的一个无符号整数转换为二进制、八进制和十六进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法。) 说明:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。 3、计算分数的精确值。使用数组精确计算M/N(0

C语言程序课程设计欣赏与感受

C语言程序课程设计心得体会 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。那么,现在就来看看,以下两篇关于C语言程序课程设计心得体会的范文! C语言程序课程设计心得体会1 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。 在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。 由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。包括了程序模块处理。简单界面程序。高级界面程序。程序的添加修改。用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。 上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。对于程序设计

语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。 学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c 语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: 1、加深对课堂讲授内容的理解 课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。然而要使用c语言这个工具解决实际问题,又必须掌握它。通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。 学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。 通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同

C语言程序设计课程设计大全

C语言课程设计 一、课程设计目的 ◆进一步巩固和复习C 程序设计的基础知识。 ◆培养学生结构化程序、模块化程序设计的方法和能力。 ◆提高学生调试程序的技巧和软件设计的能力。 ◆提高学生分析问题、解决问题以及综合利用C 语言进行程序设计的能力。◆了解软件的编制过程。 ◆树立团队合作精神 二、课程设计内容 设计要求 可自己选定一信息管理方面的题目,最多5人一组。 题目一:职工信息管理系统设计 https://www.360docs.net/doc/075691192.html,/view/76e2ddceda38376baf1fae81.html 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能: 系统以菜单方式工作 职工信息录入功能(职工信息用文件保存)--输入 职工信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法 按工资查询 按学历查询等 职工信息删除、修改功能(任选项) 题目二:图书信息管理系统设计 https://www.360docs.net/doc/075691192.html,/view/6751448ad0d233d4b14e69c2.html 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能: 系统以菜单方式工作 图书信息录入功能(图书信息用文件保存)--输入 图书信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法 按书名查询 按作者名查询 图书信息的删除与修改(可选项) 题目三:学生信息管理系统设计 https://www.360docs.net/doc/075691192.html,/view/1423e5e8e009581b6bd9eb62.html 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)---输入

《C语言程序设计》课程设计报告模板样例

《C语言程序设计》 课程设计报告 (2015— 2016学年第3学期)姓名: 学号: 院系: 专业: 班级: 指导教师:孙金华 成绩: 计算机与信息工程学院 2016 年7月

目录

1. 课程设计的目的与要求 本课程设计旨在理论学习和基础实验的基础上,开发较大规模的程序,掌握应用计算机解决实际问题的基本方法,熟悉C程序开发的全过程。 设计的任务是根据给定问题描述,设计程序的结构、描述程序的算法和用C 语言实现问题的解决,并得到运行测试结果。 通过整个程序开发的过程,提高综合应用C语言的能力、编程和调试能力,为进一步学习相关专业课程创建较扎实的理论基础和实践基础。 本设计可根据实验内容的要求自由选定题目,但要求除基础部分的选题外,深化部分最少必需选择一题。 编写程序要求遵循如下基本要求: ●模块化程序设计 ●锯齿型书写格式 ●必须上机调试通过 2. 方案实现与调试 掷骰子游戏 2.1.1 题目内容的描述 两人玩骰子,游戏规则如下: 1)两人轮流掷骰子,每次掷两个,每人最多掷10次。 2)将每人每次的分值累加计分 3)当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4)结束条件:当双方都掷10次或经过5次后一方累计分数为另一方的两倍。最后显示双方分数并判定优胜者。 2.1.2 数据输入输出说明 --这里添加对于数据输出数出和相关格式规范的说明 通过随机数生成函数成生1-6之间的整数作为输入数据。 输出结果为获胜者和失败者相关信息(如A或B获胜),并输出双每一次获得的点数。

2.1.3主要模块的算法描述 –以程序流程图的方式给出,外加少量的语言说明或描述 –或者以语言描述的方式给出 设置一个main()函数用来控制游戏次数并记录sum1和sum2的分数。当进行完第五次游戏时判断两人的分数是否成两倍关系,如果是,则结束游戏,否则继续,直到游戏结束。最后比较两人分数,决出优胜者。设置一个zs()函数来比较每次掷骰子后两人所得点数,当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数,然后将分数返回到main()函数。 主要功能模块的算法描述如下: 1)定义实变量sum、term、a、b、c,整变量i 2)初始化: sum=0,分子a=2,分母b=1 3)初始化:i(计数器)=1 4)计算第i项term =a/b 5)累加sum=sum+term 6)计算c=a+b,更新b= a,更新a=c 7)计数器加1,i++ 8)重复4、5、6、7,直到i>20 9)输出2位精度的结果 2.1.4调试过程及实验结果 --详细记录程序在调试过程中出现的问题及解决方法。 --给出能正常运行的程序源代码 --记录并给出程序执行的结果截图和简要的说明。 程序运行的测试运行结果如下图: 图1 掷骰子游戏测试结果 输出结果为两人的总分值和优胜者名单。

计算机程序设计(C语言)课程设计报告

计算机程序设计(C 语 言) 课程设计报告 题目:电子动画时钟 学院:机电工程学院 专业: 班级:090109 班 学号: 姓名: 指导教师:

设计日期: 一、概述 选题背景:随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。设计思路: (一)功能模块设计, 1. 电子时钟执行主流程 2. 电子时钟界面显示 3. 电子时钟按键控制模块 4. 时钟动画处理模块(二)数据结 构设计 1.time 结构体 2. 全局变量 ( 三 ) 函数功能描述 1. keyhandle() 2.timeupchange() 3.timedownchange() 4.digitclock() 5.drawcu rsor()6.clearcursor()7.void clockhandle()8.main() (四)程序实现(五) 运行结果。 、概要设计 2.1 、数据结构 此程序中,使用了C语言的time结构体和几个全局变量,l.time结构体struct time { unsigned char ti_min; /* 分钟*/ unsigned char ti_hour; /* 小时*/ unsigned char ti_hund; /* 百分之一秒*/ unsigned char ti_sec; /* 秒*/ }; time 结构体定义在dos.h 文件中,可用来保存系统的当前时间,其中各字段的值的含义如下。 1. unsigned char ti_min: 保存分钟值。 2. unsigned char ti_hour: 保存小时。 3. unsigned char ti_hund: 保存百分之一秒,例如,ti_hund=500 ,表示 1/500 秒。 4. unsigned char ti_sec: 保存秒数。 2.2 、全局变量下面对程序用到的全局变量及数组进行说明. 1. double h,m,s: 此3 个全局变量分别用来保存小时,分钟,秒数。 2. double x,x1,x2,y,y1,y2: 保存数字时钟中小时,分,秒在屏幕中显示 的坐标值。 3. struct time t[1]: 定义一个time 结构类型的数组,此数组只有t[0] 一个 2.3 模块列表 1. 时钟动画处理模块 时钟动画处理模块主要由clockhandle() 函数来实现,程序中旧时钟指针的擦除是借助setwritemode(mode)函数设置画线的方式来实现。如果mode=1则表示画线时用现在特性的线所画之处原有的线性异或(XOR操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。因此,当线的特性不变时,进行 两次画线操作相当于没有画线,即在当前位置处清除了原来的画线。 2. 时钟按键控制模块在电子时钟中,按键控制模块最主要的工作就是必须能读 取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。 3.

C语言程序设计 课程设计

C语言程序设计课程设计 学院计算机工程班级计算1313 姓名李连活学号 20189 成绩指导老师杨建富 2014年6月26日

计算1313班C语言程序设计课程设计大纲 一、设计目的: 通过课程设计,学会把相关的理论知识和实际应用相结合,锻炼了独立实践的能力;学会了查阅与设计相关资料的能力。 二、设计内容: 设计题目: 学生使用C语言设计程序,产生如下界面,0-6对应不同功能,若不用汉字,可用拼音或英文表示。 ************************************************************************************** * * * 1--输入2--加密3--解密4--显示5—统计6—统计全部0--退出* * * *************************************************************************************** 请选择(0--6): 0.退出系统。 1.输入信息,并写入文本文件。 2.对给定的文件进行加密。 3.对给定的文件进行解密。 4.显示文本文件的内容。 5.统计某单词在文件中出现的次数。 *6. 统计在文件中各单词出现的次数(可选)。 三、设计思想: 主要思想为由总到分,由上到下的逐级分配任务的思想。通过主函数调用各个被调用的函数,再由被调用函数通过多个循环嵌套的使用实现各自的功能,最终达到程序的要求。

1.主函数中:先使用了switch选择结构来调用不同命令下所对应的被调用函数,其中包括:输入函数shuru(),加密函数jiami(),解密函数jiemi(),显示函数show(),统计函数count1()、count2。在每个被调用函数中还多次调用了用来判断是否要继续的函数judge(),以达到循环的目的。在主函数中还多次使用清屏命令system(“cls”),以及刷新全部流的命令flushall()、fllush(stdin)使调用函数后,界面保持清洁,提高了程序的易读性。 2.输入函数中:while((c=getchar())!=EOF)的使用能提示使用者结束的命令,并且通过fputc(c,fp)把一个字符c写到由文件指针fp指定的磁盘文件上。 3.加密函数中:先定义两个指针,将输入的文件内容通过fputc(c+1,fp1);进行加密并保存到fp1所指定的文件上。保存成功后,使用remove(fname);语句删除掉原文件,并使用rename("jiami.txt",fname);语句将加密后的文件名改为已被删除的原文件名。 4.解密函数中:考虑到解密时的安全性问题,在进入解密系统时,需先输入进入解密系统的密码,因此在程序的主函数外先对解密系统密码进行初始值化,然后在进入解密系统时输入该密码就可进入。由于加密时是对每个文件内容都加上了20,所以解密时只需再减20即可。 5.显示函数中:while(!feof(fp))语句用来判断是否到了文件的末尾,可以用来保证文件的内容都被显示出来。 6.统计函数中:先定义一个字符串数组,将文件中的内容存到数组中,再使用tolower函数统一将数组所有字符转化为小写字母,将用户输入的字符也转化为小写字母,用strcmp来比较输入的字符是否与文件中的字符相等,若相等,则变量jishu加1,最后可以统计出所查单词在文件中的数目。l=strlen(word);语句表示用户输入字符的长度。 7.高级统计函数中:通过调用tol()自定义函数来判断文件中的字符是否是小写字母,若是的话,则将文件中的字符赋值给二维字符串数组cpy[][],而二维字符串数组则通过两个for循环嵌套来与自身进行比较,并且通过变量a的自增与自减来实现将重复被统计过的单词减去被多统计的次数,算出正确的单词个数。四、实验小结:

C语言程序设计课程设计练习题

《C语言程序设计》练习题 1.输入10个整数,输出其中最大者和最小者。 2.判断输入的任意年是否为闰年。 3.输入一个年、月、日,输出该日是本年中的第几天。 4.求两个正整数m和n的最大公约数和最小公倍数。 5.输出100~1000之间的素数输出。 6.求解方程ax2+bx+c=0的根,其中a、b、c是键盘输入的双精度数。 7.求由双精度数a、b、c组成的三角形的面积。 8.输入球的半径r(双精度数),计算球的表面积和体积。 9.编写交换两个整数的函数(使用指针)。 10.编写一个函数,返回函数本身被调用的次数。 11.输入两个运算数和一个算术运算符,编程实现四则运算,并输出运算结果。 12.编写一个摄氏温度和华氏温度转换程序(双精度数)。 13.打印九九乘法表。 14.打印由*组成的九层高的等腰三角形。 15.输出signed char、unsigned char、signed short、unsigned short、signed int、unsigned int、signed long、unsigned long、float、double所能表示的最大值和最小值。 16.从键盘输入的字符串,将其中的大写字母变成小写字母,将小写字母变成大写字母。 17.输入一个字符串,统计其中的字母、数字、空白符及其它符号的个数。 18.编写一个程序,输入x,当x>0,输出y=1,当x<0,输出y=-1,当x=0,输出y=0。 19.将百分制成绩转换为等级(优秀[90~100]、良好[80~90)、中等[70~80)、及格[60~70)、不及格[0~60) )成绩。 20.根据输入的利润,计算奖金:利润低于或等于10万元时,奖金为利润的10%;利润低于或等于20万元时,高于10万元部分的奖金为利润的7.5%;利润低于或等于40万元时,高于20万元部分的奖金为利润的5%;利润低于或等于60万元时,高于40万元部分的奖金为利润的2.5%;利润高于100万元时,高于60万元部分的奖金为利润的1%。 21.输入一个不多于5位的正整数,计算其位数、各位之和、逆序输出各位数字。 22.求1+2+3+…+n之和,n由键盘输入。 23.求1!+2!+3!+…+n!,n由键盘输入。

C语言程序课程设计报告(小型计算器)

目录 1.题目内容---------------------------------------------2 2.程序特点及功能------------------------------------3 3.总体思路---------------------------------------------3 4.详细设计---------------------------------------------4 5.程序清单---------------------------------------------6 6.运行结果与分析------------------------------------13 7.参考文献---------------------------------------------22

课程设计名称:小型特殊计算器 1.设计内容: 实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。 2.设计目的与要求: 2.1设计目的 1.达到熟练掌握C++语言的基本知识和技能; 2.基本掌握面向对象程序设计的基本思路和方法; 3.能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2设计要求 1.要求利用面向对象的方法以及C++的编程思想来完成系统的设计; 2.要求在设计的过程中,建立清晰的类层次; 3.在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 《一》主要知识点 运算符重载增加了C++语言的可扩充性。运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。用友元重载运算符的友元函数是独立于类以外的一般函数。《二》关键技术 程序中每一种数据类型用一个类来实现,共设计了4个类。复数类complex,矩阵类matrix,有理数类rational以及集合类set。每一种类都定义了相应的运算符重载函数。具体定义如下所示: (1)类complex 类complex中,成员变量image表示虚部,real表示实部。成员函数print()用来显示数据。运算符重载函数都是用友元函数来实现的。分别重载+、-、*、/运算符。 (2)类matrix 类matrix中,成员变量elems用来存放矩阵的所有元素,rows表示矩阵的行,cols 表示矩阵的列。成员函数SetElems()用来给矩阵中的每一个元素赋值,Disp()用来显示矩阵中的所有元素。其它友元函数分别重载+、-、*、/运算符。 (3)类rational 类rational中,有两个成员变量:denominator用来表示有理数的分母,numerator 表示有理数的分子。有理数成员函数print()用来显示有理数,optimization()用来优化有理数函数。友元函数real()用来将有理数转换为实数,其它友元函数分别重载+、-、*、/运算符。 (4)类set 类set中,有两个成员变量:elems用来存储集合中的元素,card表示集合中元素的个数。成员函数print()用来输出集合中的元素,additem()用来给集合增加元素。友元函数分别重载了&、==、!=、+、*、<、<=运算符。

C语言课程设计报告模板

中国地质大学(武汉)课程设计报告 题目c语言程序设计 姓名 学号 专业统计学 所在院系经济管理学院 指导老师江俊君 日期2016/6/11

目录 目录 (2) 1.课程论文题目 (4) 2.程序设计思路 (5) 3.功能模块图 (7) 4.数据结构设计 (8) 5.算法设计 (10) 6.程序代码 (17) 7.程序运行结果 (28) 8.编程中遇到的困难及解决方法 (31) 9.总结心得及良好建议 (33) 10.致谢 (33)

1.课程论文题目 职工信息管理系统 内容: [要求] 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。功能:实现简单的职工工资信息管理,职工工资的基本信息包括编号、姓名、基本工资、奖金、工资总额等 1. 系统以菜单方式工作。 2. 职工信息录入功能(职工信息用文件保存)。 3. 职工信息浏览功能。 4.职工信息查询功能。查询方式。 (1)按学历查询。 (2)按工号查询。

2.程序设计思路 (1)需求分析 系统要以菜单方式工作,因而根据题目要求,提供键盘式选择菜单实现功能选择,职工信息采用文件保存,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、等操作;要实现职工信息的查询,则要提供查找功能(包括按学历查询和按工号查询两种查询方式);要实现职工信息的删除、修改,则要提供文件记录的删 除、修改功能。 (2)总体设计 根据上面的需求分析,可以将这个系统设计分为以下模块:职工信息输入模块、职工信息浏览模块、职工信息查询模块、职工信息删除与修改模块 (3)数据信息 建立职工信息结构体,结构体成员包括工号、姓名、性别、年龄、学历、工资、住址和电话。 Struct employee { char num[20]; char name[8]; char sex[10];

C语言程序设计教程课程设计

《C语言程序设计教程课程设计》计划 类别:课程设计 适用于三年制专科计算机应用专业 学分:1 周数:1 一、设计目的与要求 《高级语言程序设计课程设计》是《高级语言程序设计》课程的实践环节,其教学目的是通过一些中小规模程序的编程,使学生对c语言程序设计的基本规则与方法有比较全面的理解和认识,熟练掌握高级语言程序设计技术,为以后学习更高层次的程序设计和软件开发奠定坚实基础。 通过本课程设计,应达到下列基本要求: 能够结合c语言来理解程序设计的基本概念; 掌握用c语言解决问题的基本方法和步骤,能够熟练地使用c语言编写中小型应用程序; 熟练掌握c语言编程规则,掌握函数的应用方法和编写; 熟练掌握面向过程程序设计方法; 掌握结构化程序设计思想和方法; 培养和提高学生的程序调试能力; 培养学生查阅手册、图表和文献资料的能力; 培养学生撰写报告文档的能力。 二、课程设计题目 每个题目的限选人数根据班级总人数平均后确定,但要求同一题目的学生独立完成设计题目,以下10个题目任选其一。 1。职工信息管理系统设计 1.1问题描述 试设计一职工信息管理系统,职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复) 1.2基本要求 1.系统以菜单方式工作( 2.职工信息录入功能( 3.职工信息浏览功能( 4.查询和排序功能:(至少一种查询方式) --算法( ( (1)按工资查询 ( (2)按学历查询等 5.职工信息删除、修改功能(任选项)( 2.图书信息管理系统设计 1.1问题描述 试设计一图书信息管理系统,图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 1.2基本要求 1.系统以菜单方式工作( 2..图书信息录入功能( 3..图书信息浏览功能( 4..查询和排序功能:(至少一种查询方式)--算法(

《C语言程序设计课程设计》 课程教学大纲

《C语言程序课程设计》课程教学大纲 一、课程基本信息 二、实验性质、地位和任务 《C语言程序课程设计》是一门实用性和实践性很强的课程,所以本课程的课程设计环节占有非常重要的地位。它是电子信息工程专业在C语言程序设计结束后的一门重要实践性课程,是为加强学生用程序设计的思想分析和解决问题的能力。 三、实验目的和要求 1、实验目的 在全面掌握《C语言程序设计》课程知识点的前提下,培养学生分析实际问题的能力。设计的主要目的和任务为:(1)巩固和加深学生对C语言程序设计课程的基本知识的理解和掌握;(2)利用C语言进行简单软件设计的基本思路和方法;(3)掌握程序项目开发的一般步骤;(4)掌握书写程序设计说明文档的能力。 2、实验要求 (1)作好实验前准备工作,对讨论的课程设计问题应事先进行初步设计与算法设计,以提高上机效率。 (2)上机实验时一人一机,独立上机。对程序调试过程中出现的问题应尽量独立解决,以训练学生分析问题和解决问题的能力。 (3)应按时完成课程设计任务。

(4)课程设计完成后应分析实验结果,找出存在的问题,寻找出解决问题的办法并解决问题,从而提高程序设计的能力。 四、实验项目和学时分配 1、问题分析和任务定义(4学时) (1)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么,限制条件是什么。 (2)要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。 (3)重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。 (4)说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。 2、逻辑设计和数据结构的选择(4学时) (1)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。 (2)要求:掌握逻辑设计和数据结构选择的方法。 (3)重难点:逻辑设计和数据结构选择。 (4)说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。总体设计建立的是目标系统的逻辑模型,与计算机无关。 3、详细设计和编码(8个学时) (1)内容:算法的具体描述和代码的书写 (2)要求:掌握在逻辑设计基础上作详细设计的方法,把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚。 (3)重难点:在逻辑设计基础上作详细设计并编码实现。 (4)说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。 4、上机调试(8个学时) (1)内容:源程序的输入和代码的调试 (2)要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。理解算法的时间、空间复杂性的分析方法。了解对代码重构的一般方法。

相关文档
最新文档