实验四 数值数值(教案).doc_第1页
实验四 数值数值(教案).doc_第2页
实验四 数值数值(教案).doc_第3页
实验四 数值数值(教案).doc_第4页
实验四 数值数值(教案).doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实 验 教 案课题(项目)名称: 实验三 数值数组计划学时: 2学时 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节一、实验目的 (1)熟悉C语言关于“数组”的语法规则。(2)掌握C语言程序中关于数值“数组”的应用技巧。(3)掌握一维数组和二维数组的定义、赋值和输入输出的方法;数组元素的存储形式和引用方法; (4)掌握与数组有关的排序(选择法、冒泡法)、查找(顺序查找、折半查找)、有序数列的插入和删除操作等算法(特别是排序算法)二、实验准备1C语言实现循环的方法数组的定义: Int a6; *数组a包含了6个元素,从a0到a5* Int b34; *二维数组b包含了3行4列个元素*数组的赋初值:定义数组的同时给元素赋值,可以整体赋值 Int a6=1,2,3,4,5,6; Int c=1,3,5,7; *完全赋值时可以省略下标* Int b34=1,2,3,4,5,6,7,8,9,10,11,12; *按行进行赋值*Int b4=1,2,3,4,5,6,7,8,9,10,11,12; *可以省略行下标,但不能省略列下标*Int b34=1,2,3,4,5,6,7,8,9,10,11,12; *也可以存储空间位序顺序赋值*数组元素的引用:数组元素只能单个应用如a3;数组元素的遍历: 一维数组用单循环; 二维数组用双重循环,外循环循环控制变量为行下标,内循环循环控制变量为列下标。2阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。程序一,程序文件名为ex4-1.c 。(掌握一维数组的输入输出)# include main() int a6,i;printf(请输入6个整数:);for(i=0;i6;i+) /每循环一次等待从键盘输入6个数赋给aiscanf(%d,&ai);printf(n输出数组元素:);for(i=0;i6;i+) /循环一次输出当前的aiprintf(%6d,ai); 程序二,程序文件名为ex4-2.c 。(掌握二维数组的输入输出,和转置)# include main() int a23=1,2,3,4,5,6; /二维数组赋初值int b32,i,j;for(i=0;i2;i+) /转置算法for(j=0;j3;j+)bji=aij;printf(数组a:n);for(i=0;i2;i+) / 输出二维矩阵for(j=0;j3;j+)printf(%5d,aij); /内循环一遍输出一行3个元素printf(n); /输出一行后换行printf(n输出转置后的数组b:n);for(i=0;i3;i+)for(j=0;j2;j+)printf(%5d,bij); /内循环一遍输出一行2个元素printf(n); /输出一行后换行 程序三,程序文件名为 ex4-3.c 。(用数组处理fibonacci数列前40项)# include main() long int f40=1,1;int i;for(i=2;i40;i+) /求fibonacci前3项到40项fi=fi-1+fi-2;printf(fibonacci数列前40项是:n);for(i=0;i40;i+)if(i%5=0) printf(n); /输出5个数换行printf(%15ld,fi); /%ld-输出常整型数,15表示宽度 程序四,程序文件名为ex4-4.c 。(掌握冒泡法)# include void main() int a10;int i,j,t;printf(请输入10个整数:);for(i=0;i10;i+)scanf(%d,&ai);for(i=1;i=10-1;i+) /冒泡法排序算法for(j=0;jaj+1)t=aj; aj=aj+1; aj+1=t;printf(n排序后的数:);for(i=0;i10;i+)printf(%6d,ai);三、实验内容( 按要求设计以下程序,并调试分析运行结果 ,此部分完成在实验报告上)1、设计程序sy4-1.c,用数组处理Fibonacci数列,要求输出Fibonacci数列前30个数,每行输出6个数。参考答案:# include void main() int i; long f30=1,1; for(i=2;i30;i+) fi=fi-1+fi-2; for(i=0;i30;i+) if(i%6=0) printf(n); printf(%10ld,fi); *宽度为10,输出类型为长整形数* 运行结果:2、设计程序sy4-2.c,用选择法对10个数实现递增排序。参考答案:# include void main() int a10,k,i,j,t; printf(Input 10 numbers:); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i9;i+) 选择排序法 k=i; for(j=i+1;j10;j+) if(ajak) k=j; if(k!=i) t=ak; ak=ai; ai=t; printf(n排序后的数为:); for(i=0;i10;i+) printf(%d ,ai); printf(n);运行结果:3、设计程序sy4-3.c,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。输出结果。参考答案:#includevoid main()int a10,i,min,max;int t;printf(Input 10 integar:);for(i=0;i=9;i+)scanf(%d,&ai);printf(nbefore exchange:);for(i=0;i=9;i+) printf(%5d,ai);max=min=0; /把第0个元素看成最小值for(i=1;i10;i+) if(amaxai) min=i; if(min!=0) /最小元素和a0交换t=amin;amin=a0;a0=t;if(max!=9) /最大元素和a9交换t=amax;amax=a9;a9=t;printf(nAfter exchange:);for(i=0;i10;i+)printf(%5d,ai);printf(n);运行结果:(4) 设计程序sy4-4.c,在一个5个元素的升序排列的数组中,任意输入一个数插入其中,要求保持原来的排列顺序。输出结果。参考答案:# include void main()int a10,i,x,p;printf(Input 5 numbers:); /*5个数按由小到大的顺序输入*/for(i=0;i5;i+)scanf(%d,&ai);printf(Input insert number:);scanf(%d,&x);for(p=5,i=0;i5;i+) /p的初值为5,找查找的位置if(x=p;i-) /移动数据,空出位置ai+1=ai;ap=x; /写入待插入的数据printf(The after insert score:n);for(i=0;i6;i+)printf(%6d,ai);printf(n); 运行结果:5、设计程序sy4-5.c,从键盘输入m的值(2=m=9),并用双重循环给数组赋值,在m行m列的二维数组中存放如下所示的数据,并将结果输出在显示上。例如:输入3 输入5则输出: 则输出: 1 2 3 1 2 3 4 52 4 6 2 4 6 8 10 3 6 9 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25参考答案:#includevoid main()int a1010,i,j,m;printf(Input m:);scanf(%d,&m);for(i=0;im;i+) /*初始化第一列元素*/ai0=i+1; for(i=0;im;i+) /*处理其余元素:为第0列元素*(j+1)*/for(j=1;jm;j+) aij=ai0*(j+1);for(i=0;im;i+) /*输出矩阵*/ for(j=0;jm;j+) printf(%5d,aij); printf(n);运行结果:四、实验要求: “实验内容”中的任务要求在实验课上完成,若未完成请在下次上课前利用课外时间完成。五、实验报告填写要求:1、第一页用攀枝花学院实验报告纸,其后用实验报告附页纸。2、第一页填写项目:实验课程:计算机基础2-C语言 实验项目:本次实验名称 实验日期:本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论