华北科技学院计算机学院综合性实验
实 验 报 告
课程名称 程序设计语言(C)
实验学期 20## 至 20## 学年 第 二 学期
学生所在学院 建筑工程学院
年级 11级 专业班级 土木B112班
学生姓名 学号
任课教师
…… …… 余下全文
华北科技学院计算机学院综合性实验
实 验 报 告
课程名称 程序设计语言(C)
实验学期 20## 至 20## 学年 第 二 学期
学生所在学院 建筑工程学院
年级 11级 专业班级 土木B112班
学生姓名 学号
任课教师
…… …… 余下全文
内蒙古工业大学信息工程学院
实 验 报 告
课程名称:高级语言程序设计(C)
实验名称:循环、数组、函数和结构体程序设计
实验类型: 验证性□ 综合性√ 设计性□
实验室名称: 校计算机中心机房
班级: 学号:
姓名: 组别:
同组人: 成绩:
实验日期: 20XX.12.19
实验报告撰写要求
一、 实验前用预习报告纸撰写预习报告,预习报告包括以下内容
…… …… 余下全文
《高级语言程序设计》
学生实验报告
专业:计算机科学与技术
学号:
姓名:
1) 了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2) 了解在该系统上如何编辑、编译、连接和运行一个C程序。
3) 通过运行简单的C程序,初步了解C程序的特点。
课后习题1.5
编写一个C程序,输出以下信息:
**************************
Very Good!
**************************
Source
#include<stdio.h>
int main()
{
printf("**************************\n");
printf(" Very Good!\n");
printf("**************************\n");
}
课后习题1.6
编写一个程序,输入a、b、c三个值,输出其中最大值。
…… …… 余下全文
实验三
一、实验目的
1、掌握栈的储存结构的表示和实现方法。
2、掌握栈的入栈和出栈等基本操作算法实现。
3、了解栈在解决实际问题中的简单应用。
二、实验内容
1、建立顺序栈,并在顺序栈上实现入栈和出栈操作(验证性内容)。
2、建立链栈,并在链栈上实现入栈和出栈操作(设计性内容)。
3、实现汉诺塔求解问题(应用性设计内容)。
三、验证性实验
1、实验要求
编程实现如下功能:
(1) 根据输入的栈中元素个数n和各元素值建立一个顺序栈,并输出栈中各元素值。
(2) 将数据元素e入栈,并输出入栈后的顺序栈中各元素值。
(3) 将顺序栈中的占顶元素出栈,并输出出栈元素的值和出栈后顺序栈中各元素值。
四、设计性实验
编程实现链栈的入栈和出栈操作。
1、 实验要求
(1) 根据输入的占中元素个数和各元素值建立一个链栈,并输出链栈中各元素值,观察输入的内容与输出的内容是否一致,特别注意栈顶元素的位置。
(2) 将数据元素x入栈,并输出入栈后的链栈中各元素值。
(3) 将链栈中的栈顶元素出栈,并输出栈元素的值和出栈后链栈中各元素值。
五、应用性设计实验
编程实现汉诺塔求解问题
1、实验要求
假设有三个命名为X、Y和Z的塔座,在塔座X上插有n个直径大小个不相同且从小到大编号为1、2、……,n的圆盘。现要求将塔座X上的n个圆盘借助于塔座Y移至塔座Z上,并仍按同样顺序叠排。圆盘移动时必须遵循下列规则:
(1) 每次只能移动一个圆盘;
(2) 圆盘可以插在X、Y和Z中的任何一个塔座上;
附上编译成功代码:
验证性实验:
#include<stdio.h>
#include<malloc.h>
#define ERROR 0
#define OK 1
#define stack_init_size 100
#define stackincrement 10
…… …… 余下全文
数据结构实验
实验内容和目的:
掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。学习基本的查找和排序技术。让我们在实际上机中具有编制相当规模的程序的能力。养成一种良好的程序设计风格。
实验教材:
数据结构题集(C语言版) 清华大学出版社 20##年
实验项目:
实验一、栈和循环队列
㈠、实验内容:
① 栈
掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。
② 循环队列
掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。
㈡、实验代码
① 栈
程序代码:
#include <stdio.h>
#include <malloc.h>
#define Stack_Size 6
#define ERROR 0
#define OK 1
typedef int SElemType;
typedef struct SNode
{
SElemType data;
struct SNode *next;
}SNode,*LinkStack;
int CreatTwo(LinkStack &head,int n)
{
int i;
…… …… 余下全文
实验报告
1,已知三角形的边为a,b,c,试设计程序输入三边的值并计算三角形的面积,已知三角形的面积计算公式为:
S=(a+b+c)/2;
Area=
截图为程序及其运行结果
分析:常错的地方就是容易后面使用到的字母忘记定义导致程序不认识不能运行,另外地址符&容易忘记,后面有使用的函数公式是在math.h里面的,也不能忘记#include “math.h”,最后就是中英文输入标点符号的区别,必须都是英文标点。
2,求ax²+bx+c=0方程的根,a,b,c由键盘输入,设b²-4ac>0,已知求根公式为:
X1=;X2=;
截图为程序及其运行结果
分析:一是注意地址符,注意定义到所有用到的字母,
3,已知三角形的边为a,b,c,三角形的面积计算公式为:
S=(a+b+c)/2;
Area=
试设计程序计算三角形的面积,当三边不满足三角形条件时,提示用户输入错误。
截图为程序及其运行结果,当三边不满足三角形时提示错误
分析:程序编辑过程中注意最基本的是用英文符号,定义所有需要的字母,括号不能掉
4,求ax²+bx+c=0方程的根,a,b,c由键盘输入并为任意实数,已知求根公式为:
X1=;X2=;
提示:根为虚数时的输入语句:
printf("x1=%lf+i%lf",p,q);
printf("x1=%lf-i%lf",p,q);
…… …… 余下全文
参加了C语言一周的实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能! 感想与心得
首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。在做题的过程中让我们把这些知识复习了一遍,强化了知识!
其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!
虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!传智播客的实训有效合理,作用也很明显。
这次有意思的实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!
这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向尹凡老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
…… …… 余下全文