程序设计实验报告
程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。
掌握了c语言,可以说你就掌握了很多门语言。
学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。
比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。
《Python程序设计》-实验报告-(3)

温州大学瓯江学院数学与信息工程学院《Python程序设计》实验报告¥(2)随机产生10个数字,每个数字取值范围[1,20],将随机产生的数字存放到列表中;采用字典类型存放数字及其对应的次数,打印出每一个数字及其重复的次数。
代码:import random、sl=[(1,20) for i in range(10)]dictw=dict()for ch in sl:if ch not in dictw:dictw[ch]=1[else:dictw[ch]=dictw[ch]+1print(dictw)(3)文本词频统计。
编写程序接收完整英文语句(包含空格和标点符号,其中标点符号使用空格替换,大写与小写看作同一字符),按英文单词出现频率的降序打印词频。
…代码:import stringbbk="bhgff,jjkjk!,jojlk."for da in :bbk=(da,' '),dictw=dict()for ch in bbk:if ch not in dictw:dictw[ch]=1else:{dictw[ch]=dictw[ch]+1print(dictw)2、完成Hamlet英文词频统计。
根据演示示例所用相关知识,统计Hamlet文档中词频排名前20的英文单词及次数。
the 出现次数为: 1143~and 出现次数为: 966to 出现次数为: 762of 出现次数为: 669i 出现次数为: 631you 出现次数为: 554'a 出现次数为: 546my 出现次数为: 514hamlet出现次数为: 471in 出现次数为: 451代码:¥import stringd=open('','r')txt=()for i in :(i,' ')word=[]dictw=dict()word=()for ch in word:if ch not in dictw:dictw[ch]=1else:dictw[ch]=dictw[ch]+1sd=sorted(),key=lambda item:item[1],reverse=True)print(sd[0:20])3、(选做)模拟轮盘抽奖,假设轮盘共设一等奖、二等奖、三等奖三个价值的奖品。
程序类实验报告

实验名称:程序设计基础实验实验目的:1. 理解程序设计的基本概念和原理。
2. 掌握编程语言的基本语法和编程技巧。
3. 提高程序调试和问题解决能力。
实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 计算机2. 编程软件(如Visual Studio、Eclipse等)3. 实验指导书实验内容:一、实验一:基本语法学习1. 实验目的了解编程语言的基本语法,包括变量声明、数据类型、运算符、控制结构等。
2. 实验步骤(1)编写一个简单的C程序,实现变量声明、赋值、打印输出。
(2)使用if语句实现一个简单的判断功能。
(3)使用for循环实现1到10的累加和。
(4)使用while循环实现计算两个数的最大公约数。
3. 实验结果(1)变量声明、赋值、打印输出:```c#include <stdio.h>int main() {int a = 10, b = 20;printf("a = %d, b = %d\n", a, b); return 0;}```(2)if语句实现判断功能:```c#include <stdio.h>int main() {int a = 5, b = 10;if (a > b) {printf("a > b\n");} else {printf("a <= b\n");}return 0;}```(3)for循环实现累加和:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的累加和为:%d\n", sum); return 0;}```(4)while循环计算最大公约数:```c#include <stdio.h>int main() {int a = 48, b = 18, temp;while (b != 0) {temp = b;b = a % b;a = temp;}printf("最大公约数为:%d\n", a);return 0;}```二、实验二:函数使用1. 实验目的了解函数的概念和作用,掌握函数的声明、定义和调用。
实验三---分支结构程序设计实验报告-

XXX大学软件类实验报告
课程名称:C语言程序设计学号:
姓名:
班级:
指导教师:
开课学期:
学院:
XXX大学教务处
4.switch语句。
四、实验过程及内容:(运行结果请抓图到对应题目的下方)
1. 先分析以下程序,写出运行结果,再上机检验。
实验结果:
2.先分析以下程序,写出运行结果,再上机检验。
实验结果:
3.先分析以下程序,写出运行结果,再上机检验。
实验结果:
4. 程序改错题。
以下程序的功能是将a、b、c三个数从小到大进行排序,即使得a≤b≤c.。
程序中有一些错误,试将其改正并上机验证。
实验结果:
5. 程序填空题。
以下程序的功能是:从键盘接收一个字符,如果是小写英文字母,则将其转换为相应的大写字母;如果是大写英文字母,则将其转换为相应的小写字母;如果是其他字符,则不做转换。
填空将程序补充完整并上机验证。
实验结果:
6. 编程题。
根据以下分段函数计算y的值,x的值由键盘输入。
保留两位小数
输入格式:-2
输出格式:y=-2.00
实验代码:
实验结果:
7.输入一个正整数作为年份,编程判断该年是否为闰年。
若是输出“Yes”,否则输出“No”。
提
示:能被4整除,但不能被100整除的年份;或者能被400整除的年份。
实验代码:
实验结果:。
C语言程序设计实验实验报告7

C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。
实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。
实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。
2. 删除学生信息:从链表中删除指定学号的学生信息。
5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。
7. 退出程序:退出学生信息管理系统。
实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。
2. 编写添加学生信息函数,新建链表节点并插入链表末尾。
3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。
4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。
6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。
7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。
8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。
实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。
经测试,程序稳定运行,功能正常,符合需求。
本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。
虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。
在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。
同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
C程序设计实验四实验报告

实验报告工学院土木工程专业09级2011 至2012 学年度第 1 学期实验目的:1、了解C语言表示逻辑量的方法(以0代表“假”, 以非0代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句的使用(包括if语句的嵌套);4.熟练掌握多分支选择语句——switch语句;5.结合程序掌握一些简单的算法;6.进一步学习调试程序的方法。
实验内容(1)本实验要求事先编好解决下面问题的程序, 然后上机输入程序并调试运行程序。
有一函数: x (x<1)y=﹛2x-1 (1<=x<10)3x-11 (x>=10)①写程序, 输入x的值, 输出y相应的值。
用scanf函数输入x的值, 求y值。
输入程序如下:#include<stdio.h>int main(){int x,y;printf("Please input x:");scanf("%d",&x);if (x<1){y=x;printf("x=%d y=%d",x,y);}else if (x<10){y=2*x-1;printf("x=%d y=%d",x,y);}else{y=3*x-11;printf("x=%d y=%d",x,y);}return 0;}运行结果如下: (分别输入-6,5,15)①从键盘输入一个小于1000的正数, 要求输出它的平方根(如果平方根不是正数,则输出其整数部分)。
要求在输入数据后先对其进行检查是否小于1000。
若不是, 则要求重新输入。
输入数据如下:#include<stdio.h>#include<math.h>int main(){int x,y;printf("Please input x:");scanf("%d",&x);while (x>1000){printf("Please input x(<1000):");scanf("%d",&x);}y=sqrt(x);printf("x=%d y=%d",x,y);return 0;}②运行结果如下①给出一个百分制成绩, 要求输出成绩等级A,B,C,D,E。
程序基础实验设计总结

程序基础实验设计总结摘要:1.引言2.实验设计目的与意义3.实验内容与方法4.实验结果与分析5.实验总结与展望正文:【引言】在当今信息化时代,计算机程序设计已成为一项重要的技能。
为了提高我们的编程能力,进行程序基础实验设计是必不可少的。
本文将对一次程序基础实验设计进行总结,以期为我们今后的学习和实践提供借鉴。
【实验设计目的与意义】本次实验设计的目的是让我们更好地掌握程序设计的基本思路和方法,培养我们的动手能力和解决问题的能力。
通过实验,我们可以将理论知识与实际操作相结合,提高我们的编程技能。
【实验内容与方法】本次实验主要涉及以下内容:1.学习编程语言的基本语法和结构;2.使用编程语言实现简单的算法和功能;3.完成实验任务,如编写程序、调试程序等。
实验方法如下:1.查阅相关资料,了解编程语言的基本知识和技巧;2.设计实验程序,实现给定的功能;3.通过调试和优化,提高程序的运行效率和稳定性;4.撰写实验报告,总结实验过程中的收获和不足。
【实验结果与分析】在本次实验中,我们成功完成了实验任务,掌握了编程语言的基本知识和技巧。
具体成果如下:1.掌握了编程语言的基本语法和结构;2.学会了使用编程语言实现简单的算法和功能;3.提高了动手能力和解决问题的能力。
分析:通过本次实验,我们不仅学到了编程知识,还培养了实际操作能力和解决问题的能力。
在实验过程中,我们遇到了一些问题,但通过与同学和老师的交流,逐一解决了这些问题。
这使得我们在实践中不断成长,提高了自己的编程水平。
【实验总结与展望】总之,本次实验让我们收获颇丰。
在今后的学习和实践中,我们将继续努力提高自己的编程能力,不断丰富自己的知识储备。
同时,我们也将积极参与更多的实验项目,将所学知识运用到实际中,为我国计算机事业的发展贡献自己的力量。
展望未来,我们相信,在不断努力学习和实践的过程中,我们的编程技能将不断提高,为我们的职业发展奠定坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程报告课程名称:程序设计实践专业班级:信息类11XX****:**学号: ****************:***学期:20101-2012学年第二学期课程报告任务书题图书信息管理系统目开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。
使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。
比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。
(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。
成绩评定教师:1 需求分析该项目以实现图书信息管理为目的。
扩展成一个图书借阅系统。
实现以下功能:(1)图书信息新建功能:利用链表新建图书文件夹,然后保存图书信息。
(2)图书信息插入功能:利用链表对图书信息进行添加,然后把添加信息存入文件。
(3)查询功能:①按书名查询②按作者名查询③按出版社查询(包含图书信息浏览功能--输出)(4)图书排序功能:对图书价格进行排序,然后输出排序后的信息。
(5)浏览图书信息功能:对文件中的信息输出。
(6)图书信息删除功能:删除不需要的信息或错误的图书信息,然后删除后的信息存入文件。
(7)图书信息修改功能:修改错误的信息,然后把修改后的信息存入文件。
(8)系统退出。
2 概要设计⑴数据结构struct lib{char b_name[10]; 书名char author[10]; 作者char pub[10]; 出版社int count; 编号char year[20]; 出版日期float price; 价格struct lib *next;}⑵模块划分1:创建列表模块2:插入图书信息模块3:查询图书信息模块4:图书信息排序模块5:浏览图书信息模块6:删除图书信息模块7:修改图书信息模块8:保存图书信息文件模块9:从文件读取图书信息模块⑶程序总体框架3 详细设计(1)新建图书信息列表,并调用插入函数。
struct lib * creat(){struct lib *head,*p;int count;char year[20];float price;char b_name[10];char author[10],pub[10];int size=sizeof(struct lib);head=NULL;printf("请输入图书信息\n");printf("注意当图书编号为0时结束\n");do{p=(struct lib *)malloc(size);printf("图书编号:");scanf("%d",&count);if(count==0)break;printf("出版日期:");scanf("%s",year);printf("图书价格:");scanf("%f",&price);printf("图书名:");scanf("%s",b_name);printf("图书作者:");scanf("%s",author);printf("图书出版社:");scanf("%s",pub);p->count=count;strcpy(p->year,year);p->price=price;strcpy(p->b_name,b_name);strcpy(p->author,author);strcpy(p->pub,pub);head=luru(head,p);//调用插入函数}while(1);fflush(stdin);system("cls");return head;}(2)插入图书信息,利用链表插入图书信息,需要调用void charu()插入函数的录入部分来实现图书信息的插入,先找到需要插入图书信息的位置,然后插入新的结点。
struct lib *luru(struct lib *head,struct lib *liber){struct lib *ptr,*ptr1,*ptr2;ptr1=head;//使P1指向第一个结点ptr=liber;//P0指向要插入的结点if(head==NULL)/*原链表为空时的输入*/{head=ptr;ptr->next=NULL;}//使P0指向的结点为头结点else{while((ptr->count >ptr1->count)&&(ptr1->next!=NULL)){ptr2=ptr1;//使P2指向刚才P1指向的结点ptr1 = (ptr1->next);//ptr1后移一个节点}if((ptr->count) <= (ptr1->count))//在ptr1 ptr2 之间插入新结点{if(head==ptr1)head=ptr; //指向原来第一个结点之前elseptr2->next=ptr;//插到P2指向的结点之后ptr->next=ptr1;}else //新插入结点成为尾结点{ptr1->next =ptr;ptr->next =NULL;//插到最后的结点之后}}fflush(stdin);return head;}(3)图书信息查询模块,分为按书名查询,按作者查询,按出版社查询。
利用 switch语句进行查询。
//图书查询struct lib * chaxun(struct lib *head){int choice1;struct lib *p;char name[10];char author[10];char pub[10];do{printf("******************\n");printf("* 1:按书名查询 *\n");printf("* 2:按作者查询 *\n");printf("* 3:按出版社查询 *\n");printf("* 0:退出系统 *\n");printf("******************\n");printf("请选择你需要的选项:");scanf("%d",&choice1);switch(choice1){case 1:printf("请输入你所要查询的书名:");scanf("%s",name);for(p=head;p;p=p->next){if(strcmp(p->b_name,name)==0){printf("\n^^^^^^^^^^^^^^图书信息表^^^^^^^^^^^^^^\n");printf("\n\n图书编号---出版日期---价格---书名---作者--出版社\n");printf("%d\t%s\t%f\t%s\t%s\t%s\n",p->count,p->year,p->price,p->b_name,p->aut hor,p->pub);}elseprintf( "------对不起,没有找到你所需要的信息!------\n");}break;case 2:printf("请输入你所要查询的书的作者:");scanf("%s",author);for(p=head;p;p=p->next){if(strcmp(p->author,author)==0){printf("\n^^^^^^^^^^^^^^图书信息表^^^^^^^^^^^^^^\n");printf("\n\n图书编号---出版日期---价格---书名---作者--出版社\n");printf("%d\t%s\t%f\t%s\t%s\t%s\n",p->count,p->year,p->price,p->b_name,p->aut hor,p->pub);}elseprintf( "------对不起,没有找到你所需要的信息!------\n");}break;case 3:printf("请输入你所要查询的出版社:");scanf("%s",pub);for(p=head;p;p=p->next){if(strcmp(p->pub,pub)==0){printf("\n^^^^^^^^^^^^^^图书信息表^^^^^^^^^^^^^^\n");printf("\n\n图书编号---出版日期---价格---书名---作者--出版社\n");printf("%d\t%s\t%f\t%s\t%s\t%s\n",p->count,p->year,p->price,p->b_name,p->aut hor,p->pub);}elseprintf( "------对不起,没有找到你所需要的信息!------\n");}break;case 0:fflush(stdin);system("cls");return head;default :printf("------对不起没有此选项--请重新输入数据--------\n");break;}}while(choice!=0);fflush(stdin);getchar();system("cls");return head;(4)对图书信息按图书价格进行排序算法,再重新建一个新的链表,通过循环把原链表的每一数据,按图书价格,把图书信息插入新的链表中。