C++实验报告(姓名+学号)
《C语言程序设计》实验报告(实验1-12)
《C语⾔程序设计》实验报告(实验1-12)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
C语言程序设计实验实验报告7
C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。
经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。
虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。
在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。
同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。
c语言实验报告5篇
c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。
其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。
c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
3、掌握C程序的运行、调试方法等。
二、实验内容编写一个学生信息排序程序。
要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
C语言程序设计 实验报告1--顺序结构
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩:实验1:顺序结构程序设计一、实验目的和要求1.了解Visual C++ 6.0/DEV_C++的基本操作方法2.掌握C程序设计的基本步骤:编辑、编译、连接和运行3.掌握各种类型数据的输入输出方法4.能够编写一个简单的程序二、实验内容和原理1. 输入并运行一个简单、正确的程序。
# include <stdio.h>int main( ){printf ("This is a c program!\n");return 0;}2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。
#include<stdio.h>int main(){char a, b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);return0;问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句?怎样修改?scanf( “a=%c,b=%c,%d”,&a,&b,&c );问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句?怎样修改?scanf( “%c,%c,%d”,&a,&b,&c);printf(“\”%c\”,\”%c\”,%d\n”,a,b,c);3、编程求一个圆的周长和面积。
用scanf输入圆半径,输出保留两位小数。
4、输入一个华氏温度F,要求输出摄氏温度C。
C语言程序设计实验实验报告
C语⾔程序设计实验实验报告《C语⾔程序设计实验》实验报告实验九⽂件编程(⼀)班级:_07某某专业1班_学号:______姓名:___实验样例_____⽇期:___2008.6.10_____台州学院数信学院计算机系制作⼀、实验⽬的和要求综合使⽤基本结构、基本算法、函数、指针、结构体、链表等知识设计程序。
⼆、实验指导1、注意:本次实验为综合性实验,需要综合本课程以前所学内容,完成编制⼀个⼩型应⽤程序。
需要复习课本以前所学内容,浏览上课讲解的相关内容。
2、实验时间安排:准备实验⽅案,上课时上机编程,课余完成整个设计并完成实验报告。
3、实验具体要求:以⼀张假想的学⽣期中成绩表为实验对象,编制⼀个⼩型应⽤程序,可以考虑实现以下功能:(1)成绩修改;(2)成绩查询;(3)成绩统计;(4)成绩输⼊。
也可以实现其他⾃定义的功能。
界⾯采⽤简易菜单形式,可以分级显⽰。
实验需要进⾏以下步骤:需求分析、程序设计、程序调试、程序运⾏,并对程序运⾏效果进⾏分析,提出改进⽅案。
初步锻炼学⽣的程序设计能⼒、程序调试能⼒、对实验结果进⾏综合分析的能⼒。
4、实验成绩评价标准:参见成绩评定表。
四、实验报告内容(参见样本,请另附页)实验报告必须包含以下内容:1、对你设计的程序功能进⾏的较详细描述。
2、画出程序测试⽤的学⽣期中成绩表(包含:表头、若⼲⾏包含学⽣成绩等信息的数据⾏)。
3、给出程序清单(包含结构体的声明与定义、所有的函数声明、所有的全局变量、所有的函数定义、必要的注释。
注:如果程序过长,可以不⽤给出所有的函数定义,只给出主要的函数定义)。
4、运⾏结果(写出运⾏时的主界⾯、各模块的实现界⾯等,不作具体要求,但要求能清晰地体现出程序的功能)。
5、对你的设计作⼀个评价(可以包含你所花的时间、精⼒,你遇到的困难及如何解决的,你的设计过程所遇到的其他事情;必须包含你对设计的客观评价,以及提出的改进⽅案)。
1、程序功能描述:(略)2、成绩表样表:3、程序清单:(红⾊部分是和上⼀个程序的区别之处)#includestruct student /*期中成绩表的结构声明*/{int num;char name[20];char sex;float YuWen;float ShuXue;float YingYu;float totle;};#define MAX_STU_NUMBER 100 /*宏定义最⼤学⽣数为100⼈*/struct student Stu[MAX_STU_NUMBER]; /*⼀次性定义100个学⽣的存储空间*/int STU_NUMBER; /*存放学⽣数*/char *FileName = "chengji.txt"; /*成绩存放的⽂件*//*所有的函数声明:*/int SelectMainMenu(); /*显⽰并选择主菜单。
c语言实验报告3
实验一C程序设计入门1.编程输出‚我的信息‛;#include <stdio.h>main(){printf("My Information:\n");printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");}2.编程:定义一个名为all的整型变量并为其赋值100。
分别计算all 的两倍及其平方,用文字什么的输出结果;#include <stdio.h>main(){int all=100;int x,y;x=2*all;y=all*all;printf("all的两倍是:%d\n all的平方是:%d\n",x,y);}3.编程求以下表达式的值;#include <stdio.h>#include <math.h>main(){float x;x=23+(pow(16,2)-15)/(9+14);printf("x=%.4f\n",x);}4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)#include <stdio.h>main(){int x;float y;x=3/2+4/3+5/4+6/5;y=3.0/2+4.0/3+5.0/4+6.0/5;printf("x=%d\ny=%.4f\n",x,y);}实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。
(结果保留两位小数)#include <stdio.h>main(){float x,a,b;printf("Input the height:");scanf("%f%f",&a,&b);x=(a+b)/2;printf("The average height is:%.2f\n",x);}2。
C语言实验报告
学生实验报告册(理工类)课程名称:C语言程序设计专业班级:13电气工程及其自动化学生学号:1304102013 学生姓名:孙健所属院部:机电工程学院指导教师:胡盈盈20 13 ——20 14 学年第二学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。
实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。
教师可根据学科特点和实验具体要求增加项目。
填写注意事项(1)细致观察,及时、准确、如实记录。
(2)准确说明,层次清晰。
(3)尽量采用专用术语来说明事物。
(4)外文、符号、公式要准确,应使用统一规定的名词和符号。
(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。
实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。
实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。
实验项目名称:初级程序设计实验学时: 6实验地点: A206 实验日期: 4.10---4.24 实验成绩:批改教师:胡盈盈批改时间:实验1 初级程序设计一、实验目的和要求(1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试;(2)掌握C语言中各种运算符的使用;(3)掌握C语言中各种数据类型的区别与应用;(4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用;(5)掌握C语言中输入/输出函数的使用;(6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。
二、实验仪器和设备奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。
三、实验内容与过程1、程序调试(1)#include <stdio.h>main(){ int s,t,p,sum;scanf(“%d%d%d”,&s,&t,&p);sum=s+t+p;printf(“sum=%d\n”,sum);}(2)#include <stdio.h>main(){ int k=3;if(k=3) printf(“***”);else printf(“###”);}(3)#include <stdio.h>main(){int k=0;do{ printf(“k=%d\n”,k);}while(k++>0);}2、程序改错下面是判断一个学生考试成绩及格与否的程序(成绩A,或B,或C者为及格;成绩为D者不及格),调试并改进如下程序使其能满足上述输出的需要。
c语言实验报告
南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□√综合□设计□创新实验日期:实验成绩:一.实验名称实验3控制语句二.实验目的1.熟练掌握if 、if…else、if……elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
2.熟练掌握while语句、do……whil e语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。
进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。
三.实验内容1.选择结构程序设计;2.if语句的使用;3.使用switch语句实现多分支选择结构;4.三种循环语句的应用;5.循环结构的嵌套;6.break和continue语句的使用。
三.实验环境PC微机DOS操作系统或 Windows 操作系统Visual c++程序集成环境四.实验内容和步骤本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
学会单步调试和断点调试程序及变量跟踪方法。
1.任意输入4个整数,要求按由小到大的顺序输出。
2.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。
要求:(1)将变量定义为整型。
(2)输入整数前,利用puts ()/printf ()给出提示信息。
(3)输出结果时要有必要的说明,例如:输入358时,显示358 is 100 to 999。
(4)该程序利用if 语句实现。
运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。
3.编写程序:根据公式 222221......3121116n ++++=π ,输出 π的值。
要求:(1)变量π为单精度类型,n 为整型;(2)计算当n 的取值分别为20,50 ,100,200时的π值,说明什么问题?(3)修改程序,不给出n 值,而改为求π值,直到最后一项的数值小于10-4 为止。
c语言程序设计实验报告
c语言程序设计实验报告C语言程序设计实验报告一、实验目的C语言作为一种高级编程语言,广泛应用于嵌入式系统、操作系统、网络通信等领域。
本次实验旨在通过编写C语言程序,掌握基本的程序设计技巧,深入理解C语言的特性和语法规则。
二、实验内容本次实验的主要内容是设计一个简单的学生成绩管理系统。
通过该系统,可以实现学生信息的录入、查询、修改和删除等功能。
具体实现的功能需求如下:1. 学生信息的录入:从键盘输入学生的姓名、学号和成绩等信息,并将其保存到文件中。
2. 学生信息的查询:根据学号或姓名查询学生的详细信息,并显示在屏幕上。
3. 学生信息的修改:根据学生的学号修改其姓名或成绩等信息,并更新保存在文件中。
4. 学生信息的删除:根据学生的学号删除其相关信息。
三、实验过程首先,需要定义一个学生信息的结构体,包含学生的姓名、学号和成绩等属性。
然后,利用文件I/O操作,将学生信息保存到文件中,并实现查询、修改和删除功能。
具体的实验过程如下:1. 定义学生信息的结构体,包括姓名、学号和成绩等属性。
2. 编写函数实现学生信息的录入功能,从键盘输入学生的信息,并将其保存到文件中。
3. 编写函数实现学生信息的查询功能,通过学号或姓名查询学生的详细信息,并显示在屏幕上。
4. 编写函数实现学生信息的修改功能,根据学号修改学生的姓名或成绩等信息,并更新保存在文件中。
5. 编写函数实现学生信息的删除功能,根据学号删除学生的相关信息。
四、实验结果经过实验,实现了学生成绩管理系统的基本功能。
通过该系统,可以方便地录入、查询、修改和删除学生的信息。
五、实验总结通过本次实验,进一步巩固了C语言的基本知识和编程能力。
掌握了文件I/O操作技巧,了解了C语言程序设计的具体过程。
在今后的学习和实践中,应继续深入学习C语言的高级特性和常用函数,提高程序的效率和可靠性。
此外,还应注重理论和实践的结合,不断提升自己的动手能力和解决问题的能力。
总之,本次实验为我提供了一个很好的机会,能够将理论知识转化为实践能力。
C语言实验报告答案
C语⾔实验报告答案南京信息⼯程⼤学实验(实习)报告实验(实习)名称:指针及其应⽤⽇期:得分:指导⽼师:院系:应⽤⽓象学院专业:班次:姓名:学号:实验⽬的(1)掌握变量的指针及其基本⽤法。
(2)掌握⼀维数组的指针及其基本⽤法。
(3)掌握指针变量作为函数的参数时,参数的传递过程及其⽤法。
⼀.实验内容(1)运⾏以下程序,并从中了解变量的指针和指针变量的概念。
(2)运⾏以下程序,观察&a[0]、&a[i]和p的变化,然后回答以下问题:1.程序的功能是什么?2.在开始进⼊循环体之前,p指向谁?3.循环每增加⼀次,p的值(地址)增加多少?它指向谁?4.退出循环后,p指向谁?5.你是否初步掌握了通过指针变量引⽤数组元素的⽅法?(3)先分析以下程序的运⾏结果,然后上机验证,并通过此例掌握通过指针变量引⽤数组元素的各种⽅法。
(4)编写函数,将n个数按原来的顺序的逆序排列(要求⽤指针实现),然后编写主函数完成:①输⼊10个数;②调⽤此函数进⾏重排;③输出重排后的结果。
⼆.分析与讨论(1)指针的定义⽅法,指针和变量的关系。
定义⽅法:数据类型 *指针变量名;如定义⼀个指向int型变量的指针——int *p;则我们可以继续写如下代码——int a = 4;p = &aprintf("%d", *p);在这⾥,我们定义了⼀个变量a,我们把它理解为内存空间连续的4个字节(int型占⽤4字节),则这4个字节的空间保存着⼀个数4。
&是取地址符号,即把变量a的地址(即这4个字节的⾸地址)赋给指针p (记住指针p的类型和变量a的类型要保持⼀致,否则的话,要进⾏类型转换)。
这样⼦,指针p就保存着变量a的地址。
我们如果把指针p当做内存空间⾥⾯另外⼀个连续的4个字节,那么这4个字节保存的数就是变量a的地址。
printf("%d",*p)和printf("%d",a)的结果是⼀样的。
c语言实验报告三答案(完整版)
实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。
2. 掌握在程序设计中用循的方法实现一些常用算法。
并进一步学习调试程序的方法。
二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。
(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。
C语言程序设计上机实验报告(精选5篇)[修改版]
第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。
示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。
要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。
c语言实验报告2
c语言实验报告2C语言实验报告2一、实验目的本次实验旨在通过编写C语言程序,加深对C语言基本语法和控制结构的理解,同时提升编程能力。
二、实验内容本次实验要求编写一个简单的学生成绩管理系统。
系统需要实现以下功能:1. 学生信息录入:从键盘输入学生的姓名、学号和成绩,并将其保存到文件中。
2. 学生信息查询:根据学号查询学生的姓名和成绩,并在屏幕上显示出来。
3. 学生成绩统计:计算所有学生的平均成绩,并将结果显示在屏幕上。
三、实验步骤1. 创建一个名为"student.txt"的文本文件,用于保存学生信息。
2. 编写一个函数,用于录入学生信息。
函数首先从键盘输入学生的姓名、学号和成绩,然后将这些信息保存到文件中。
在保存之前,需要先判断文件是否存在,如果不存在则创建新文件。
3. 编写一个函数,用于查询学生信息。
函数从键盘输入学号,然后在文件中查找对应的学生信息,并将结果显示在屏幕上。
如果找不到对应的学生信息,则显示"未找到该学生信息"。
4. 编写一个函数,用于统计学生成绩。
函数读取文件中的所有学生信息,并计算平均成绩。
最后将平均成绩显示在屏幕上。
5. 在主函数中,调用上述三个函数,实现学生成绩管理系统的完整功能。
四、实验结果经过编写和调试,本次实验得到了一个完整的学生成绩管理系统。
该系统可以实现学生信息的录入、查询和统计功能。
在录入学生信息时,用户可以根据提示输入学生的姓名、学号和成绩。
系统会将这些信息保存到文件中,以便后续查询和统计。
在查询学生信息时,用户需要输入学号。
系统会在文件中查找对应的学生信息,并将结果显示在屏幕上。
如果找不到对应的学生信息,系统会给出相应的提示。
在统计学生成绩时,系统会读取文件中的所有学生信息,并计算平均成绩。
最后,系统将平均成绩显示在屏幕上。
五、实验总结通过本次实验,我进一步熟悉了C语言的基本语法和控制结构,提升了编程能力。
在实验过程中,我学会了如何创建和操作文件,并且掌握了文件的读写操作。
c语言实验报告总结(范本)
c语言实验报告总结c语言实验报告总结篇一:C语言上机实验心得C语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。
说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。
为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。
通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。
我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”, n);中的“”有时候会忘了。
而在最后输出时又错写成printf(“%d”, 从而错误得输出了地址而不是我原来想要的答案。
2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。
3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。
知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。
5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。
英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。
为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。
实验中我深刻意识到完成程序的编写,决不意味着万事大吉。
认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。
有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。
生化实验VC测定实验报告
滴定分析法特点
优点①用于组分含量在1%以上的常量组分的分析;
②快速、简便、准确度高(相对误差<0.2%);
③应用范围广,几乎可以测所有的物质。
缺点灵敏度较差,不适于微量分析。
B 分光光度法特点
优点① 灵敏度高;10-5~ 10-6mol/L
② 准确度较高;
③ 仪器设备较简单, 操作简便、 快速;
平时在吃桔子时经常是将桔皮随手扔掉了,但是其丰富的Vc含量说明它是一个没有被利用的资源。我们吃完后可以将其晾干,泡茶用或熬粥,炖排骨用。另外,新鲜的桔皮含量更丰富,我们可以将新鲜的桔皮洗干净泡水喝,即醒神又保健。
赵武玲主编,《基础生物化学》,中国农业大学出版社,2008年9月第一版,155-156页
/index.php?doc-view-80016中药健康网,桔子
九、实验小结
这次实验学习了离心法和微量滴定法。在做滴定操作时还不太熟练,应该多加练习。
经计算,桔皮的Vc含量将近桔肉的6倍。而桔肉本身的Vc含量也很丰富。查阅资料可知,桔子的Vc含量是苹果等水果的十倍。在寒冷的冬季,多吃桔子可以增强肌体的抵抗力,但是不能吃太多,Vc摄入过多会产生不良影响,如结石,皮肤问题,多尿,小儿骨骼疾病等。
2.65
2.657
滴定桔皮样液所消耗的染料(ml)
2.05
2.06
2.05
2.053
滴定桔肉样液所消耗的染料(ml)1.Leabharlann 51.711.72
1.727
表1
注:以上数据,除空白的三组外,其余的每组数据测量时,微量滴定管均是从0开始滴定。
计算公式如下
维生素C含量(mg/100 g样品)=
(V1-V2)×K×V×100
C语言程序设计 实验报告2--选择结构
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程:C语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2:选择结构程序设计一、实验目的和要求1.了解C语言表示逻辑量的方法2.正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句3.结合程序掌握一些简单算法,并学习调试程序二、实验内容和原理1.有一函数:x2+2x-6(x<0,x≠-3)y = x2-5x+6(0≤x<10,x≠2,x≠3)x2-x-15(x=-3,x=2,x=3,x≧10)写一程序,用scanf函数输入x,输出y值。
2.分别用if语句和switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
3.输入4个整数,要求按由小到大顺序输出。
4.有三个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序。
(用两种方法实现)5.输入出租车类型和里程,计算打车的费用。
计算方式为:3公里以内10元;3公里以上0车型每公里1.5元,1车型每公里2元。
三、实验环境1. 硬件:PC机;2. 软件:Windows操作系统、Visual C++ 6.0,DEV-CPP 。
四、算法描述及实验步骤1、先用scanf函数输入,再用if语句的嵌套来计算该方程。
2、(1)用switch语句时,对输入的数据进行检查,在用score/10将其强制转换得到一个整型。
最后用switch语句执行使其得到一个字符型字母。
(2)用if语句分成各个分数段将符合要求的输出对应的字符。
3、用if语句依次比较的方法排出其大小顺序。
4、(1)先用scanf函数输入,再用if语句的嵌套比较其大小顺序。
(2)带入一个中间数用条件表达式比较其大小顺序。
5、在标题写入条件,3公里以下直接输出。
3公里以上判断车型,再带入相应车型计算车费。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
bitree *p;
sqstack s;
initstack (s);
p=T;
while(p||!stackempty(s))
{
if(p)
{
if(!visit(p->data))
typedef struct bitree
{
elemtype data;//数据域
struct bitree *lchild,*rchild;//指针域
}BiTree;//二叉树结点结构
4.1.2本算法使用的栈采用顺序存储结构,设栈的初始大小为100,增长量为10,栈的数据类型如下:
#definestack_init_size100//初始大小
if(visit(T->data))
if(inordertraverse(T->rchild,visit))
return ok;
return error;
else
return ok;
}
算法三后序递归遍历二叉树算法
Status postordertraverse(bitree *T,Status (* visit)(elemtype e))
}
}
return ok;
}
算法六后序非递归遍历二叉树算法
Status postordertraverse_b(bitree *T,Status (* visit)(elemtype e))
{
sqstack s;
BiTree *p;
BiTree *pre=NULL;
initstack(s);
p=T;
while((p!=NULL)||!stackempty(s))
山西大学计算机与信息技术学院
实验报告
姓名
学号
专业班级
课程名称
实验日期
成绩
指导教师
批改日期
实验名称
一、实验目的:
二叉树的遍历操作是树形结构其他众多操作的基础。本实验旨在使学生进一步加深对二叉树的先序、中序和后序等三种遍历次序特点的理解,熟悉二叉链表存储结构,熟练掌握二叉树上的递归算法的设计技术。
二、实验内容:
构造一棵二叉树,使用二叉链表方式存储,试设计程序,按照先序、中序、后序三种方式将这棵二叉树遍历出来,要求使用递归和非递归两种实现方式。
三、主要算法:
4.1数据结构描述
4.1.1本算法研究的待遍历的二叉树结点的数据类型如下,设二叉树结点的数据域均为字符型:
typedef char elemtype;//元素类型定义
用中序非递归算法遍历二叉树的输出为:dbeafcg
用后序非递归算法遍历二叉树的输出为:debfgca
运行结果如下图所示:
4.2.4先序非递归遍历二叉树的基本思想:T是要遍历的树的根指针,若T != NULL,引入栈模拟递归工作栈,初始时栈为空。用栈来保存信息,使得在先序遍历过左子树后,能利用栈顶信息获取T的右子树的根指针。
4.2.5中序非递归遍历二叉树的基本思想:T是要遍历的树的根指针,中序遍历要求在遍历完左子树后,访问根,再遍历右子树。用栈来保存信息,使得在中序遍历过左子树后,能利用栈顶信息获取T指针。
4.3算法实现
算法一先序递归遍历二叉树算法
Status preordertraverse(bitree *T,Status (* visit)(elemtype e))
{
if(T)
{if(visit(T->data))
if(preordertraverse(T->lchild,visit))
if(preordertraverse(T->rchild,visit))
{
if(T)
{if(postordertraverse(T->lchild,visit))
if(postordertraverse(T->rchild,visit))
if(visit(T->data))
return ok;
return error;
}
else
return ok;
}
算法四先序非递归遍历二叉树算法
g
f
e
b
a
aaaaaaaaa
c
d
4.2.1先序递归遍历二叉树的基本思想:首先访问二叉树的根结点;其次先序递归的遍历根结点的左子树;最后先序递归的遍历根结点的右子树。
4.2.2中序递归遍历二叉树的基本思想:首先中序递归的遍历根结点的左子树;其次访问根结点;最后中序递归的遍历根结点的右子树。
4.2.3后序递归遍历二叉树的基本思想:首先后序递归的遍历根结点的左子树;其次后序递归的遍历根结点的右子树;最后访问根结点。
return error;
push(s,p);
p=p->lchild;
}
else
{
pop(s,p);
p=p->rchild;
}}Biblioteka return ok;}
算法五中序非递归遍历二叉树算法
Status inordertraverse_b(bitree *T,Status (* visit)(elemtype e))
{
if(p!=NULL)
{
push(s,p);
p=p->lchild;
}
else
{
p=*(s.top-1);
if(p->rchild!=NULL&&pre!=p->rchild)
p=p->rchild;
else
{
p=pre=*(s.top-1);
visit(p->data);
pop(s,p);
p=NULL;
return ok;
return error;
}
else
return ok;
}
算法二中序递归遍历二叉树算法
Status inordertraverse(bitree *T,Status (* visit)(elemtype e))
{
if(T)
{if(inordertraverse(T->lchild,visit) )
#definestackincrement 10//增量
typedef struct
{
bitree* *base;//栈底指针
bitree* *top;//栈顶指针
int stacksize;//栈的大小
}sqstack;//顺序栈
4.2函数功能描述
假设待遍历的二叉树的数据域序列为:a、b、c、d、e、f、g,该二叉树表示如下:
}
}
}
return ok;
}
五、实验结果分析:
当输入的二叉树数据域序列为:a、b、c、d、e、f、g时,各种遍历算法的输出分别为:
用先序递归算法遍历二叉树的输出为:abdecfg
用中序递归算法遍历二叉树的输出为:dbeafcg
用后序递归算法遍历二叉树的输出为:debfgca
用先序非递归算法遍历二叉树的输出为:abdecfg
{
BiTree *p;
sqstack s;
initstack (s);
p=T;
while(p||!stackempty(s))
{
if(p)
{
push(s,p);
p=p->lchild;
}
else
{
pop(s,p);
if(!visit(p->data))
return error;
p=p->rchild;
4.2.6后序非递归遍历二叉树的基本思想:T是要遍历的树的根指针,后序遍历要求在遍历完左右子树后,再访问根。需要判断根结点的左右子树是否均遍历过。可采用标记法,结点入栈时,配一个标志tag一同入栈(0:遍历左子树前的现场保护,1:遍历右子树前的现场保护);也可以使用堆栈来记录根结点的左右子树是否均遍历过,本实验采用堆栈的方法。