您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > C/C++资料 > C语言:数组的应用实验报告
-1-课程名称:结构化程序设计与C语言开课实验室:年月日年级、专业、班学号姓名成绩实验项目名称实验二数组的应用指导教师教师评语教师签名:年月日一、实验目的用C语言编写和调试数组的程序,包括一维数组和二维数组。从而对数组的程序设计有比较深入的了解。二、内容及结果1、程序二选择排序法1)题目:用选择法对10个整数排序。2)代码:#includestdio.hintmain(){inta[10];inti,j,t;printf(input10numbers:\n);for(i=0;i10;i++)scanf(%d,&a[i]);printf(\n);for(j=0;j9;j++)for(i=0;i9-j;i++)if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(thesortednumbers:\n);-2-for(i=0;i10;i++)printf(%d,a[i]);printf(\n);return0;}3)运行截图:2、程序二将一个数组中的值按逆序重新存放。1)题目:将一个数组中的值按逆序重新存放。2)代码:#includestdio.hintmain(){inta[5]={8,6,5,4,1};inti,t;for(i=0;i=2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;-3-}for(i=0;i=4;i++)printf(%d,a[i]);return0;}3)运行截图:3、程序三输出杨辉三角形(10行)1)题目:输出杨辉三角形(10行)2)代码:#includestdio.hintmain(){intyh[10][10]={0};inti,j;for(i=0;i10;i++)yh[i][0]=1;for(i=1;i10;i++)for(j=1;j10;j++)yh[i][j]=yh[i-1][j-1]+yh[i-1][j];for(i=0;i10;i++){for(j=0;ji+1;j++)printf(%5d,yh[i][j]);-4-printf(\n);}}3)运行截图:4、程序四找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该行上最小。也可能没有鞍点。1)程序要求:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该行上最小。也可能没有鞍点。2)代码:#includestdio.hintmain(){inta[5][5],b[5],c[5],s[5][5],k=0,l=0;inti,j;printf(请你输入s[5][5]:\n);for(i=0;i5;i++)for(j=0;j5;j++)scanf(%d,&s[i][j]);for(i=0;i5;i++)-5-for(j=0;j5;j++,a[i][j]=s[i][j]);for(i=0,k=0;i5;i++,k++)for(j=0;j4;j++){if(a[i][j]=a[i][j+1])b[k]=a[i][j+1]=a[i][j];elseb[k]=a[i][j+1];}for(j=0,l=0;j5;j++,l++)for(i=0;i4;i++){if(a[i][j]=a[i+1][j])c[l]=a[i+1][j]=a[i][j];elsec[l]=a[i+1][j];}for(i=0,k=0;i5;i++,k++)for(j=0,l=0;j5;j++,l++)if(s[i][j]-b[k]==0){if(s[i][j]-c[l]==0)printf(s[%d][%d]=%d\n,i,j,s[i][j]);elseprintf(s[%d][%d]=%d不是鞍点\n,i,j,s[i][j]);}return0;}-6-3)运行截图:三、实验结果、分析和结论:此次试验主要就是对数组的运用,同时也运用了if条件语句以及for循环语句的运用,让以前的知识点得到了复习。通过对数组的运用,我们首先学会的就是如何对一个数组的定义,然后就是数组的作用,我们运用数组对多个数进行排序和两个数的排序。而在数组中我们运用最多、最广的就是二维数组,所以我们掌握二维数组的相关信息,首先就是怎样定义一个二维数组,其次就是怎样引用二维数组中的元素以及对二维数组的初始化。还有一个重要的数组就是字符数组,此次虽未用到,但也是需要我们掌握的,因此只有我们掌握了各种数组的运用,我们才能正确的把它运用到解题中去。
本文标题:C语言:数组的应用实验报告
链接地址:https://www.777doc.com/doc-7028015 .html