文档详情

实验报告模板

海***
实名认证
店铺
DOC
14KB
约4页
文档ID:169615549
实验报告模板_第1页
1/4

实验报告模板 《C语言程序设计》实验报告 实验五 数组程序设计 班级 学号 姓名 实验地点 完成日期 成绩 〔一〕实验目的与要求 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法 〔二〕实验内容 1、对于输入的n个整数,先进展升序排序,然后进展二分查找〔HLOJ 8005〕 2、假设矩阵A中存在这样的一个元素A[i][j]满足以下条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,那么称之为该矩阵的一个马鞍点编写一个程序计算出矩阵A的马鞍点的值〔HLOJ 1208〕 主要代码: [注:此处请填写自己的核心代码〔须带必要的注释〕] 运行结果: 《C语言程序设计》实验报告 2、假设矩阵A中存在这样的一个元素A[i][j]满足以下条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,那么称之为该矩阵的一个马鞍点 解题思路: 首先是要定义一个二维数组a[100][100],根据输入的m(行数),n〔列数〕,得到一个矩阵,然后先求第i行的最小元素,先设一个min为最小,然后再跟该行里的第j个元素去比拟,假设找到比min大的,就把a[i][j]赋值给min,当找到最小的那个值时,因为还要判断该值是否是第j列中值最大的元素,所以需要先把此时的j的值临时赋给一个变量t;然后就让min去列中比拟,遇到比min大的就完毕循环,假设一直到最后都没有遇到比min大的,就说明min此时是最大的,也就是说,它就是要找的鞍马点,然后输出a[i][j],否那么就说明找不到鞍马点,输出Impossible。

〔因为要进展循环,所以要增加一个标签f,赋初值为0;当找到鞍马点是f=1;否那么f=0;根据它来输出不存在的情况〕 主要代码: [注:此处请填写自己的核心代码〔须带必要的注释〕] 运行结果: 《C语言程序设计》实验报告 3、对给定的数据进展排序每组测试数据的构造是:第一行为一个整数N 〔0 主要代码: [注:此处请填写自己的核心代码〔须带必要的注释〕] 运行结果: 《C语言程序设计》实验报告 〔四〕实验结果 在做第一题二分查找的时候,由于没有学过数据构造,所以做的时候遇到了一点困难,开场总是运行不出正确的答案,运行结果都为零,后来发现是我在两边往中间去长度的时候,顺序出现了错误,经过改正,终于运行成功第二题鞍马点测试根本上没什么问题第三题按长度排序,开场我不太清楚,string型的字符串也可以直接定义数组,总是在输一个紧接着就去求长度,把长度存到一个数组,然后在判断,总是做不对,后来知道了可以这么定义,经过修改做出了正确答案 〔五〕收获与体会 做了这次的实验报告,有一点值得肯定的是,对于数组的操作有了更深一步的理解做二分查找,让我很有体会,很多时候的查找其实可以通过其他的方法使得程序的运行更加的有效率。

比方二分查找就比顺序查找的效率要高的多,在做题的时候,也要考虑如何解题可以进步程序运行的效率 经过这段时间的做题,不仅仅是做这个实验报告,从开场的看到题目,连头文件名都打不对,自己没有一些做C++题目的感觉,到渐渐的做了一些题目后,有了自己解题的一个思路,做题目也越来越顺利了,提交也不会总是WrongAnswer,遇到一些错误能自己把它解决掉,当中教师也给了很大的帮助,非常感谢教师 就我自己而言,深化的体会到,要可以使做题越来越纯熟,唯一的方法就是多做点题目当你拿到一个题目的时候,不能盲目的就去敲代码,要把题目理解清楚,考虑好解决这个题目需要用到哪些知识点有理解题的根本框架,再去写代码,这样就能进步解题的效率,自己的思路也比拟明晰,不会混乱同时也发现,自己还是存在很多的缺乏,需要进一步的努力,不断稳固所学的知识,并加以扩大 第 4 页 共 4 页。

下载提示
相关文档
正为您匹配相似的精品文档