计算机科学与技术第4次上机实验

合集下载

上机实验报告(精选11篇)

上机实验报告(精选11篇)

上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。

b交互性:有输入提示。

c结构化程序设计风格:分层缩进、隔行书写。

3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。

请注意:过时不候哟!四、实验报告内容0.顺序表的插入。

1.顺序表的删除。

2.带头结点的单链表的\'插入。

3.带头结点的单链表的删除。

注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。

例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。

2.实验报告中的源代码应是通过编译链接即可运行的。

3.提交到个人空间中的内容应是上机实验中的全部内容。

上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。

2.带头结点的单链表的建立(用尾插法)、插入、删除。

二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。

2.在这二个文件夹中,分别存放上述二个实验的相关文件。

每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。

3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。

三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。

b 交互性:有输入提示。

计算机科学导论实验指导书(专题一)

计算机科学导论实验指导书(专题一)

计算机科学导论实验指导书(专题一)操作系统上机实训前言计算机科学与技术是一门工程实践性较强的学科,实践性环节的教学非常重要。

对于学习计算机专业的学生,除了学好理论知识外,还需进行相应的实验。

通过这些实验,一方面让学生加深理解理论课上学到的各种知识,另一方面培养学生的动手能力。

计算机科学导论是一门概述性的先导课程,以课堂讲授和多媒体演示进行教学为主,重在培养学生的兴趣,引发学生的思考,掌握了解学科的知识体系和要点。

上机内容主要通过教师穿插在课堂教学中的有关实践内容讲解,以及学生的课外学习和上机实践,着重培养学生计算机和网络的使用能力,以及基本编程能力,进一步加深对课程内容的思考。

本课程实验要求学生在学习导论课的同时,再课外阅读一些有关实验的资料和参考书籍,作好预习;上机时独立或合作完成实验内容,并在实验后,按要求完成实验报告。

实验1 熟悉Windows环境一.实验目的熟悉Windows使用环境,熟练操作技巧;了解树文件系统逻辑结构,学会使用资源管理器;控制面板的使用和设置二.实验内容1.掌握对任务栏的操作,能够移动、隐藏任务栏,并改变其大小。

2.了解窗口各部位的名称,能够熟练改变窗口的大小和位置。

3.掌握各种创建快捷方式的方法,能够根据不同的使用场合采用不同的方法创建快捷方式。

4.熟练使用开始菜单提供的各种方法运行程序。

5.能够使用控制面板对系统进行一些基本的设置。

6.掌握创建保存文档的方法。

7.熟练地对文档进行各种操作,如:打开,复制,粘贴,删除,查找等。

8.学会如何创建文件夹,从而能够合理有效的管理个人计算机。

三.实验步骤和说明建议:实验所涵盖的操作内容总是有限的,但Windows的操作基本相似。

学习操作最好的办法,有问题看帮助,边看帮助边操作。

Windows有非常完善的帮助文档,有问题请按“F1”1.任务栏操作(1)移动任务栏:将鼠标光标指向任务栏的空白区域,按下左键,拖动鼠标,将任务栏分别拖动到屏幕的左侧、右侧和顶部。

4大学计算机基础上机实验指导与习题--习题

4大学计算机基础上机实验指导与习题--习题

第1章计算机与信息表示基础习题一、选择题1.目前使用的计算机采用( )为主要电子元器件。

A. 电子管B. 晶体管C. 中小规模集成电路D. 超大规模集成电路2.个人计算机(PC)属于( )类型。

A. 大型计算机B. 微型计算机C. 小型机D. 超级计算机3.目前计算机最具有代表性的应用领域有科学计算、数据处理、实时控制和( )。

A. 文字处理B. 辅助设计C. 办公自动化D. 操作系统4.一般用高级语言编写的程序称为( ),这种程序不能直接在计算机中运行,需要相应的语言处理程序将之翻译成机器语言程序后,才能运行。

A. 用户程序B. 源程序C. 汇编程序D. 目标程序5.系统软件的核心是( ),它用于管理和控制计算机的软、硬件资源。

A. 语言处理程序B. 数据库管理系统C. 应用软件系统D. 操作系统6.运用计算机进行导弹轨道计算,是计算机在( )方面的应用.A. 数值计算B. 信息处理C. 自动控制D. 人工智能7.将十进制数89转换为二进制数,其值是()。

A. B. C. D.8.在计算机内部,一切信息的存取、处理和传送都是以()进行的。

A.ASCII码 B.二进制 C.十六进制 D.EBCDIC码9.计算机能够直接识别和执行的语言是()。

A.汇编语言B.高级语言C.英语D.机器语言10.计算机中存储数据的最小单位是()。

A.字节B.位C.字D.KB11.在国内流行的汉字系统中,一个汉字的机内码占()个字节。

A.1 B.2 C.3 D.412.在存储一个汉字内码的两个字节中,每个字节的最高位是()。

A.1 和1 B.1 和0 C.0 和1 D.0 和013.按16 × 16 点阵存放国标GB2312-80中一级汉字( 共3755个) 的汉字库,大约需占存储空间()。

A.1MB B.512KB C.256KB D.128KB14.计算机辅助教学简称()。

A.CAD B.CAM C.CMI D.CAI15.计算机辅助设计的英文缩写是()。

JAVA实验报告心得

JAVA实验报告心得

北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目: java上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间: 2012年12月19日版本: 1.0.0指导教师:北京联合大学-信息学院编制实验1 熟悉java运行环境实验目的:熟悉jdk环境和操作,编写简单的java应用程序。

心得体会:在该实验中,我碰到的问题是jdk环境变量的设置。

解决方法是通过查阅资料书和网上搜索相关解决方法及同学的有力帮助。

实验2 选择语句练习实验目的:正确理解并能够熟练操作和使用java的if和switch语句。

心得体会:我个人感觉有了c的编程基础,if和switch这些简单的流程控制语句运用起来比较轻松,实现简单的逻辑运算也跟c非常相近,所以上手比较快。

但是在这次程序中,首次涉及到了java程序的数据输入,与c区别很大。

但经过老师的讲解和查阅相关资料,基本明白相关的使用规则和注意事项。

在第二个小题中还涉及到了charat()方法,经查阅jdk 文档,知道charat()方法返回一个位于提供给它的参数索引处的字符,如: str.chatat(0)检索str中的第一个字符,str.charat(str.length()-1)检索最后一个字符。

我运用此方法解决了比较字符串间首字母异同的问题。

实验3 迭代练习实验4 方法的实现练习实验目的:声明、定义和调用方法,理解实参和形参的含义。

心得体会:在该实验中,我掌握如何写方法、调用方法,并掌握如何向方法中传递信息和从方法中返回信息。

方法声明为非void(构造方法除外)则需要用return语句返回一个相应类型的返回值。

实验5 简单类型数组练习实验目的:学习创建简单类型的数组,并能用循环语句处理数组。

心得体会:通过该实验,我学会了如何让建立简单类型的数组,并掌握了将数组作为方法的传入参数和返回值。

在该实验中,遇到的问题主要是如何将一个连续的多位数在存入数组时,每个数组元素只对应改多位数的一个组成数。

《大学计算机导论》教案

《大学计算机导论》教案

《大学计算机导论》教案一、课程简介二、教学目标1. 了解计算机科学的发展历程和计算机技术的应用领域。

2. 掌握计算机的基本概念,包括计算机硬件、软件、操作系统、网络等。

3. 了解计算机科学的基本分支,如算法、数据结构、编程语言、软件工程等。

4. 培养学生的计算机思维和解决问题的能力。

三、教学内容1. 计算机科学的发展历程2. 计算机的基本概念3. 计算机硬件和软件4. 操作系统和网络5. 计算机科学的基本分支四、教学方法采用讲授、讨论、实践相结合的教学方法。

通过讲解使学生了解和掌握计算机科学的基本知识,通过讨论激发学生的思考,通过实践提高学生的动手能力。

五、教学评价1. 课堂参与度:观察学生在课堂上的发言和讨论情况,评价学生的参与度。

2. 课后作业:布置适量的课后作业,评价学生对课堂内容的掌握程度。

4. 期末考试:设置期末考试,全面测试学生的学习效果。

六、教学安排1. 课时:共计32课时,包括16次课,每次2课时。

2. 授课方式:课堂讲授,配合案例分析、小组讨论等互动环节。

3. 实践环节:安排4次上机实践,每次2课时,共计8课时。

七、教学资源1. 教材:《大学计算机导论》,作者:,出版社:高等教育出版社。

2. 辅助资料:教案、PPT、案例分析、课后习题等。

3. 实践环境:计算机实验室,配备有必要的软件和硬件设备。

八、教学进度计划1. 第1-4课时:计算机科学的发展历程2. 第5-8课时:计算机的基本概念3. 第9-12课时:计算机硬件和软件4. 第13-16课时:操作系统和网络5. 第17-20课时:计算机科学的基本分支6. 第21-24课时:实践环节(上机操作)九、教学策略1. 启发式教学:通过提问、案例分析等方式,激发学生的思考,培养学生的创新意识。

2. 互动式教学:鼓励学生参与课堂讨论,提高学生的表达能力和团队协作能力。

3. 实践性教学:安排上机实践环节,使学生能够将理论知识运用到实际操作中。

计算机网络以太网实验报告

计算机网络以太网实验报告

华东师范大学计算机科学技术系上机实践报告课程名称:计算机网络年级:12级上机实践成绩:指导教师:黄新力姓名:郑思淳蔡梦霜创新实践成绩:实验名称:以太网帧的构成学号:10122130214 10122130116上机实践日期:2014.11.24座位编号:A64 A54组号:上机实践时间: 4 学时一、实验目的1. 掌握以太网的报文格式2. 掌握MAC地址的作用3. 掌握MAC广播地址的作用4. 掌握LLC帧报文格式5. 掌握仿真编辑器和协议分析器的使用方法二、实验设备1. 仿真编辑器2. 协议分析器三、实验原理(一)两种不同的MAC帧格式常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准;另一种是IEEE的802.3标准。

目前MAC帧最常用的是以太网V2的格式。

两种帧格式都具有7个域:前导码、帧首定界符、目的地址、源地址、长度/类型、数据、帧校验序列。

如下图所示。

两种格式的帧可以依据类型/长度字段的值进行区分。

如果此帧是DIX Ethernet V2标准格式帧,则类型/长度字段的值大于1536;如果此帧是IEEE 802.3标准格式的帧,则类型/长度字段的值小于1518。

对DIX Ethernet V2帧来说,此字段的值代表了高层协议的类型;对IEEE 802.3帧来说,它的高层协议一定是LLC,而此字段的值代表的是数据的长度。

下图画出了两种不同的MAC帧格式.(二)MAC层的硬件地址MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。

1.在局域网中,硬件地址又称物理地址或MAC地址,它是数据帧在MAC层传输的一个非常重要的标识符。

网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM,它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

2.网卡从网络上收到一个 MAC 帧后,首先检查其MAC 地址,如果是发往本站的帧就收下;否则就将此帧丢弃。

上机实验报告目的

一、引言随着我国教育事业的不断发展,计算机科学已经成为现代教育的重要组成部分。

上机实验作为计算机教学的重要环节,对于提高学生的实践能力、培养创新精神和解决实际问题的能力具有重要意义。

本篇报告旨在阐述上机实验的目的,为教师和学生提供参考。

二、上机实验的目的1. 培养学生的实践能力计算机科学与技术是一门实践性很强的学科,上机实验是学生掌握理论知识、提高实践能力的重要途径。

通过上机实验,学生可以将抽象的理论知识转化为具体的实践操作,加深对知识的理解和掌握。

具体表现在以下几个方面:(1)熟悉计算机硬件和软件环境:上机实验使学生了解计算机的基本组成,熟悉操作系统、编程语言等软件环境,为后续学习打下基础。

(2)掌握编程技能:上机实验让学生通过编写程序,学会算法设计、程序调试和优化,提高编程能力。

(3)培养动手能力:上机实验要求学生在实际操作中解决问题,提高动手能力和独立思考能力。

2. 培养学生的创新精神上机实验鼓励学生积极探索、勇于创新。

通过实验,学生可以:(1)激发创新意识:上机实验过程中,学生面对实际问题,需要运用所学知识寻找解决方案,从而激发创新意识。

(2)培养创新思维:上机实验要求学生从多个角度思考问题,寻找最佳解决方案,培养创新思维。

(3)锻炼创新实践能力:上机实验过程中,学生需要不断尝试、调整和优化方案,锻炼创新实践能力。

3. 培养学生的团队合作精神上机实验往往需要团队合作完成,这有助于培养学生以下能力:(1)沟通能力:上机实验过程中,团队成员需要相互沟通、协作,提高沟通能力。

(2)协作能力:上机实验要求团队成员共同完成任务,培养协作能力。

(3)责任意识:上机实验中,每个成员都承担着一定的责任,培养责任意识。

4. 培养学生的自主学习能力上机实验鼓励学生自主学习,提高以下能力:(1)信息检索能力:上机实验过程中,学生需要查阅资料、了解相关知识,提高信息检索能力。

(2)自学能力:上机实验要求学生在遇到问题时,通过查阅资料、请教他人等方式解决问题,培养自学能力。

计算机科学与技术第4次上机实验

计算机科学与技术第4次上机实验哈尔滨工程大学《程序设计基础》实验报告基础实践一姓名:麦豆班级:学号:实验时间: 2018 年 5 月 3 日哈尔滨工程大学计算机基础课程教学中心实验题目1:写一个函数,Sn=a+aa+aaa+···+aa···a求多项式的前n项和,其中a是一个数字。

n由键盘输入。

设计思想:声明函数sum,利用循环求得sum最终值并返回sum值实验代码及注释:#include <stdio.h>int sum(int a,int n);//sum函数声明int main(){int n;int a;printf(" 请输入a,n:\n");scanf("%d%d",&a,&n);printf("前%d项和为%d\n",n,sum(a,n));//调用函数sum return 0;}int sum(int a,int n){int sum=0;int i;int count;count=0;for(i=1;i<=n;i++){count=count*10+a;//每次乘10加asum=sum+count;}return sum;}验证与结论:总结与心得体会:声明函数时后面一定要有分号,但写函数时不需要。

实验题目2:编程实现求10000以内的回文数。

其中,函数实现判断任一正整数是否为回文数。

所谓回文数就是将一个数从左向右读与从右向左读是一样的,例如121和1331都是回文数。

设计思想:声明judje函数,判断number是否为回文数。

在函数内部先判断数字number位数,由于回文数为对称结构,故通过位数来确定判断次数,每次判断数字首位与个位然后去掉首位与个位再次判断直至循环结束。

另外需要对个位数另行判断,个位数一定为回文数。

如果为回文数返回1,否则返回0。

最新上机实验报告二

最新上机实验报告二实验目的:1. 熟悉计算机上机操作环境,掌握基本的软件使用技巧。

2. 学习并实践编程基础,增强逻辑思维和问题解决能力。

3. 通过实验加深对理论知识的理解,提高实验操作技能。

实验内容:1. 环境搭建:安装并配置必要的编程软件,如IDE、版本控制系统等。

2. 基础编程:完成一系列编程练习,包括数据类型、控制结构、循环、函数等。

3. 算法实现:编写程序解决具体问题,如排序算法、查找算法等。

4. 调试与优化:学习调试技巧,优化代码性能,提高程序运行效率。

5. 版本控制:学习使用版本控制系统,如Git,进行代码管理和协作开发。

实验步骤:1. 在指导老师的帮助下,完成实验环境的搭建和配置。

2. 按照实验指导书的要求,逐步完成基础编程练习。

3. 分析并选择合适的算法解决给定问题,编写代码实现。

4. 利用调试工具进行代码调试,修正发现的错误和不足。

5. 学习并实践版本控制的基本概念和操作,进行代码的提交、更新和合并。

实验结果:1. 成功搭建了实验所需的软件环境,并熟悉了各个工具的基本操作。

2. 完成了所有基础编程练习,并通过测试,代码逻辑清晰,运行无误。

3. 实现了排序和查找算法,并通过案例验证了算法的正确性和效率。

4. 通过调试,优化了代码结构和性能,提升了程序的运行速度。

5. 掌握了版本控制的基本概念,能够进行基本的代码管理和协作。

实验总结:通过本次上机实验,我不仅巩固了编程基础知识,还提高了解决实际问题的能力。

在实验过程中,我学会了如何有效地使用调试工具和版本控制系统,这些技能对于未来的编程学习和软件开发都具有重要意义。

同时,我也认识到了编写可读性强、可维护性高的代码的重要性。

在未来的学习中,我将继续提高我的编程技能,并更加注重代码质量。

数据库管理与维护上机指导


二.实验要求
1.掌握在 Windows 操作系统下安装 Oracle 服务器和客户端管理软件 2.了解 Unix 或 Linux 操作系统下安装 Oracle 服务器 3.掌握卸载 Oracle 数据库服务器的方法步骤
三.实验步骤
1.在 Windows 2000 Server 或 Windows XP 下安装 Oracle 服务器 (1)双击安装光盘中的“SETUP”程序图标,出现图 1 所示界面。Oracle 此时正在检查操作系统的配置是否符合 Oracle 的要求,如果有问题就会报错; 如果没有问题会进入图所示的画面。
图 13 安装界面——“概要”对话框
7
PDF 文件使用 "pdfFactory Pro" 试用版本创建
滨州学院计算机科学技术系 数据库管理与维护课程上机指导手册 南理勇
图 14 Oracle 安装界面
图 15 Oracle SCOTT 用户解锁界面
(14)当出现安装结束界面以后,将安装完成界面中的信息记录到文件中, 这对以后数据库维护非常有用。单击“退出(X) ”按钮,退出安装。安装结束 界面如图 16 所示。
(7)选择数据库配置,即选择要创建数据库类型:一般用途、事务处理、 数据仓库、高级。保留默认选项,如图 7 所示。单击“下一步”按钮。
图 7 安装界面——“选择数据库配置”对话框
(8)指定数据库配置选项:数据库命名、数据库字符集、数据库示例是否 创建带样本方案的数据库。保留默认选项,如图 8 所示。单击“下一步”按钮。
2
PDF 文件使用 "pdfFactory Pro" 试用版本创建
滨州学院计算机科学技术系 数据库管理与维护课程上机指导手册 南理勇
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨工程大学《程序设计基础》实验报告基础实践一姓名:麦豆班级:学号:实验时间: 2018 年 5 月 3 日哈尔滨工程大学计算机基础课程教学中心实验题目1:写一个函数,Sn=a+aa+aaa+···+aa···a求多项式的前n项和,其中a是一个数字。

n由键盘输入。

设计思想:声明函数sum,利用循环求得sum最终值并返回sum值实验代码及注释:#include <stdio.h>int sum(int a,int n);//sum函数声明int main(){int n;int a;printf(" 请输入a,n:\n");scanf("%d%d",&a,&n);printf("前%d项和为%d\n",n,sum(a,n));//调用函数sum return 0;}int sum(int a,int n){int sum=0;int i;int count;count=0;for(i=1;i<=n;i++){count=count*10+a;//每次乘10加asum=sum+count;}return sum;}验证与结论:总结与心得体会:声明函数时后面一定要有分号,但写函数时不需要。

实验题目2:编程实现求10000以内的回文数。

其中,函数实现判断任一正整数是否为回文数。

所谓回文数就是将一个数从左向右读与从右向左读是一样的,例如121和1331都是回文数。

设计思想:声明judje函数,判断number是否为回文数。

在函数内部先判断数字number位数,由于回文数为对称结构,故通过位数来确定判断次数,每次判断数字首位与个位然后去掉首位与个位再次判断直至循环结束。

另外需要对个位数另行判断,个位数一定为回文数。

如果为回文数返回1,否则返回0。

实验代码及注释:#include <stdio.h>#include <math.h>int judje(int number);//声明judje函数int main(){int i;for(i=0;i<10000;i++){if(judje(i)==1)//judje为1的数输出printf("%d\t",i);}return 0;}int judje(int number)//判断number是否为回文数{int judje,i=0,middle_number,parity,j;//回文数判断变量,数字位数,数字位数中间变量,数字位数奇偶int middle_number2;//取掉首位个位剩余数int shouwei,gewei;//首位,个位middle_number2=number;//全部赋初值middle_number=number;do //判断数字位数{ i++;middle_number=middle_number/10;//对数字除以10直到为}while (middle_number!=0);parity=i/2;//运算次数for (j=1;j<=parity;j++){shouwei=middle_number2/pow(10.0,(double)(i-2*j+1));//首位数字gewei=middle_number2%10;//个位数字middle_number2=(middle_number2-shouwei*pow(10.0,(double)(i-2*j+ 1)))/10;//将首位与个位去除后剩余的数if((shouwei==gewei) && j==parity)//个位与首位相等且都已比较完成{judje=1;//1为真}else if(shouwei!=gewei){judje=0;break;}}if(parity==0)//如果为个位数一定为回文数judje=1;return judje;}验证与结论:总结与心得体会:通过函数可以使代码更加简洁,流程更加清晰。

实验题目3:假设你每月在储蓄账户上存100元,年利率是5%,则每月的利率是0.05/12=0.00417。

第一个月后,账户上的值变成100*(1+0.00417)=100.417;第二个月后,账户上的值变成(100+100.417)*(1+0.00417)=201.252;第三个月后,账户上的值变成(100+201.252)*(1+0.00417)=302.507,以此类推。

写一个函数,根据用户输入的每月的存款数、年利率和月份数,计算给定月份后账户上的钱数。

设计思想:声明final_money,由题意可知每个月钱数为上个月钱数加每月存的钱数乘以每月利率,在函数内部由循环得到钱数,返回final_money。

实验代码及注释:#include <stdio.h>double final_money(double money,double lilv,int n);//函数声明int main(){double money,lilv;//每月存款数,年利率int n;//月份printf("请输入每月存款数、年利率和存款月份数(以空格隔开):\n");scanf("%lf%lf%d",&money,&lilv,&n);printf("账户上的剩余钱数为%.3lf",final_money(money,lilv,n));return 0;}double final_money(double money,double lilv,int n)//存款数、年利率和月份数{double final_money=0;//赋初值int i;//循环变量for(i=1;i<=n;i++){final_money=(final_money+money)*(1+lilv/12);//表达式}return final_money;// 返回钱数}验证与结论:总结与心得体会:函数参数可以是多个但返回值只有一个。

实验题目4:用递归法将一个整数n转换成字符串。

例如,输入483,应输出的字符串“483”,n的位数不确定,可以是任意位数的整数。

设计思想:声明函数,在函数将数每次除以10反复递归调用直到为0,而余数加上'0'可以产生相应的字符。

实验代码及注释:#include <stdio.h>void change(int n);int main(){int n;printf("请输入整数n:");scanf("%d",&n);printf("输出相应字符串:");if (n<0){putchar('-'); //先输出一个‘-’号n=-n;//转化为正值}change(n);printf("\n");return 0;}void change(int n){int i;i=n/10;if (i!=0)change(i);//对n每次除以10反复递归调用直到为0putchar(n%10+'0');//余数加上'0'可以产生相应的字符}验证与结论:总结与心得体会:余数可以加上48来得到相应的字符但加’0’会更加简单。

函数递归必须要有限制条件,转换字符串函数限制条件就是i为0。

实验题目5:用递归方法求n阶勒让德多项式的值。

设计思想:直接利用函数递归,当阶数值为o返回1,阶数值为1返回输入的数。

另外阶数值在递归时需要强制转换为float类型,否则式子计算为整型数。

实验代码及注释:#include <stdio.h>float number(float x,int n);//函数声明int main(){int n;// 阶数float x;//循环变量充当输入的数printf("请输入x值和阶数:\n");scanf("%f%d",&x,&n);printf("%.2f\n",number(x,n));return 0;}float number(float x,int n){if(n==0){return 1;}else if(n==1)return x;return(2*n-1)*x*number(x,n-1)/(float)n-(n-1)*number(x,n-2)/(float)n;//递归求n阶勒让德多项式注意n为整数需要强制转换}验证与结论:总结与心得体会:递归是c语言中最基础也是极为重要的算法,核心是函数自身对自身的调用。

注意整型除以整型仍为整型,故需要对阶数值强制转换。

实验题目6:编程求20以内正整数的阶乘。

要求:写一函数求任一整数的阶乘,在函数内部通过定义静态局部变量求阶乘。

设计思想:声明一个factorial函数,在函数内部定义静态变量,利用循环求阶乘值,由于局部静态变量会保留上一次运行的值,故求20以内正整数的阶乘只能调用一次factorial函数,求19的阶乘然后利用循环从19往下输出直到1的阶乘。

实验代码及注释:#include <stdio.h>long long factorial(int number);//函数声明int main(){int i=19;long long x;//数据极大必须用longlong数据类型x=factorial(i);//仅调用一次函数//printf("%ld",x);for(i=19;i>0;i--){printf("%d!是%lld\n",i,x);//longlong用%lld输出x/=i;//除掉之后多余的数的到当前i的阶乘}return 0;}long long factorial(int number)//求任意整数阶乘函数{static long long y=1;//静态变量只赋一次初值以后函数调用会保留上一次的值int i;for (i=1;i<number;i++){y=y*(i+1);//用循环求阶乘}return y;//返回阶乘值}验证与结论:总结与心得体会:局部静态变量会保留上一次运行的值,故在此题中只调用了一次函数.另外由于10以上阶乘数极大,声明类型时用了long long类型。

实验题目7:编程实现两个整形变量内容互换。

相关文档
最新文档