《实验二:数组》实验报告.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《实验二:数组》实验报告

泉州师院数学与计算机科学学院 《高级语言程序设计2》课程实验报告 实验名称 实验二:数组 实验时数 3 实验时间 2016-3-22 姓名 班级 学号 成绩 一、实验目的 (1)计算一维数组和二维数组中的最大值、最小值、平均值、累和及其演化问题。 (2)掌握矩阵的相关计算问题,求和、差、转置、对角线和等。 二、实验内容 (1)矩阵对角线元素的和 题目来源Offline Line:6015 矩阵对角线元素的和 描述:一个n×n的矩阵有两条对角线,请编程求出它对角线上的元素和。(重复的数据只能算一次)?输入有若干种情况。每种情况以一个整数n开始(2=n=30),接着有n行n列数据。输出相应的对角线上的元素和。2 1 2 3 4 3 1 0 -1 2 3 4 8 8 -2 Sample Output 10 9 (2) 折半查找 题目来源Offline Line:6023 折半查找 描述:有n个整数按由大到小顺序存放在一个数组中。输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。假设数组的使用下标是从1开始。 输入有若干种情况,每种情况的第一行有两个数n、num。n是正整数,表示数组有n个数(n=100),num表示要找的数。第二行是n个由大到小排序好的数。??如果查到就输出该数所在的位置,查不到就输出“无此数”。每一种情况先输出“Case id: ”。id是序号。5 90 100 90 89 70 60 6 77 66 65 64 63 62 61 1 0 6 Sample Output Case 1: 2 Case 2: 无此数 Case 3: 无此数 #includestdio.h int main() { int a[30][30]; int t; int n,m; int i,j,k=0; int sum=0; while(scanf(%d,t)!=EOF) { sum=0; for(i=0;it;i++) { for(j=0;jt;j++) { scanf(%d,a[i][j]); } } for(j=0;jt;j++) { sum+=a[j][k++]; } for(j=0;jt;j++) { sum+=a[j][k-=1]; } if(t%2!=0) { printf(%d\n,(sum-a[t-2][t-2])); } else { printf(%d\n,sum); } } return 0; } (2) 折半查找 #includestdio.h int main(void) { int a[200]; int n,num; int flag; int max,min,mid; int i; int count=0; while(scanf(%d %d,n,num)!=EOF) { min=1; max=n; flag=0; for(i=1;in+1;i++) { scanf(%d,a[i]); } while(min=max) { mid=(max+min)/2; if(num==a[mid]) { flag=1; break; } else if(numa[mid]) { max=mid-1; } else { min=mid+1; } } count++; if(flag==1) { printf(Case %d: %d\n,count,mid); } else { printf(Case %d: 无此数\n,count); } } return 0; } 四、实验总结 教 师 评 语 指导教师: 年 月 日 1

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档