文档详情

数组_实验报告.doc

发布:2018-04-22约1.62千字共3页下载文档
文本预览下载声明
《程序设计基础》实验报告单5 班级 学号 姓名 实验时间 星期一下午1、2节 实验地点 H527 实验题目 数组 一、实验目的 掌握一维数组和二维数组的定义方法,以及其元素的访问形式 掌握利用字符数组来处理字符串及字符串处理函数 二、实验要求 实验内容及主要步骤 实验程序清排序 #includestdio.h void main() { int data[11],i,j,post,z; printf(please input 10 integer:\n); for(i=1;i=10;i++) scanf(%d,data[i]); for(i=1;i=9;i++) { post=i; for(j=i+1;j=10;j++){ if(data[j]data[post]) post=j; z=data[post]; } printf(%d,z); //if(post!=i) { //t=data[i];data[i]=data[post];data[post]=t; // } } //printf(the sorted numbers:\n); //for(i=1;i=10;i++) //printf(%d ,z); } 一维数组打印九九乘法表 #includestdio.h void main() { int a[10],i,j; for(i=1;i=10;i++) { for(j=1;j=i;j++) a[j]=i*j; printf(%d*%d=%d ,j,i,a[j]); } } 二维数组打印九九乘法表 #includestdio.h void main() { int a[10][10],i,j; for(i=1;i10;i++) { for(j=1;j=i;j++){ a[i][j]=i*j; printf(%d*%d=%d ,j,i,a[i][j]); } printf(\n); } } 折半查找法 #includestdio.h int fun1( int a[],int n,int key){ int low,high,mid; low=0;high=n-1; while(low=high){ mid=(low+high)/2; if(a[mid]==key) return mid; if(a[mid]key) high=mid-1; else low=mid+1; } return -1; } void main() { int a[15]={1,2,4,6,7,10,15,16,20,21,23,36,39,45,50},key,n; scanf(%d,key); n=fun1(a,15,key); if(n!=-1) printf(Find success:%d,n); else printf(No find!); } 五、实践经验及问题分析 z=data[post];则未实现交换功能。 ⒊对于二维数组,如果要访问它的每一行的元素,比如要实现每一行的数的累加,那么 数组名【i】则表示了该二维数组的行起始地址。 ⒋字符串的输入和输出可以用printf,scanf实现,也可以用gets\puts实现。但对于gets与scanf来说又有区别:gets读取字符直到遇到换行符,并将换行符“\n”转换‘\0’结束。而scanf遇空格或是换行符结束。 ⒌对于折半查找法定义一个函数,数组作为函数的形参,其方法与一般变量类似,在函数头部分对形参变量的类型说明时,无需具体指定形参一维数组的长度,但对于二维数组来讲其第二维长度不能缺省。
显示全部
相似文档