一维数组程序设计.doc_第1页
一维数组程序设计.doc_第2页
一维数组程序设计.doc_第3页
一维数组程序设计.doc_第4页
一维数组程序设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计基础C实训报告册 实训时间:实训六 一维数组程序设计一、 实训目标 熟练掌握使用一维数组的编程方法和常用算法。1、 掌握数组的定义、输入和输出方法。2、 掌握下标变量的使用方法。3、 掌握求极值、分类统计、排序、查找、移动等常用算法。4、 进一步熟练程序的调试和测试方法。5、 *学习数组作为函数参数的编程方法。二、 语法练习1、数组是把 同类型 的变量组织在一起。2、 int a5; 表示定义了 5 个 整形 类型的变量,分别为: a2、a3、 a4 、 a0 ,各元素在内存中 连续 存放,数组名a表示数组在内存中的 初始地址 。3、在C语言中对一维整型数组的正确定义为 D 。 A)int a(10); B)int n=10,an; C)int a ; D)#define N 10 int aN; 4、以下能对一维数组a进行初始化的语句是: ( C ) A. int a5=(0,1,2,3,4,); B. int a(5)= ; C. int a3=0,1,2; D. int a5=5*1;5、已知:int a10; 则对a数组元素的正确引用是( D )。 A、a10 B、a3.5 C、a(5) D、a06、若有以下数组说明,则数值最大的和最小的元素下标分别是( B )。int a12=1,2,3,4,5,6,7,8,9,10,11,12;A.1,12 B.0,11 C.1,11 D.0,127、若有以下数组说明,则i=4;aai元素数值是( A )。int a6= 8,11,3,6,2,12;A.3 B.2 C.6 D.118、设有定义int a5,i;用for循环结构分别写出数组的输入和输出程序段。for(i=0;i5;i+)scanf(“%d”,&ai);for(i=0;i5;i+)printf(“%d”,&ai);三、 实训内容和步骤1、定义一个具有10个元素的一维整型数组,从键盘给各元素赋值,并以每行4个数的格式输出。 源程序#include#define SIZE 10void main()int i,aSIZE;printf(“Input 10 integers:n”);for(i=0;i10;i+)scanf(“%d”,&ai);for(i=0;i10;i+)printf(“%d ”,ai);if(i+1)%4=0)printf(“n”);语法错误:测试数据 预期结果 实际结果(连续运行时)调试过程:(指编译通过,无语法错误,但运行结果不对时)思考:(结合上一个实验内容)1) int a10; 未初始化时,各数组元素的值是多少?2) int a10=1,3;则a0a9的值分别为:2、改错(教育在线上需改错的程序文件夹中err6_1.cpp),程序功能为:在数组a中查找与x相同的元素,如找到,输出x在数组中的下标。(要求画出流程图)有错的源程序#include int main() int i, x, n;int an; printf(输入数组元素的个数:); scanf(%d, &n); printf(输入数组%d个元素:,n); for(i = 0; i n; i+) scanf(%d, &ai); printf( x= ); /断点1 scanf(%d, &x); for(i = 0; i n; i+) if(ai != x) break;/断点2 if(i!=n) printf( 没有找到与%d相等的元素!n, d); else printf( 和%d相同的数组元素是a%d=%dn, x, i, ai); return 0; /断点3 修改后的源程序#include #define SIZE 100int main() int i, x, n,flag;int aSIZE;flag=1;printf(输入数组元素的个数:); scanf(%d, &n); printf(输入数组%d个元素:,n); for(i = 0; i n; i+) scanf(%d, &ai); printf( x= ); /断点1 scanf(%d, &x); for(i = 0; i n; i+) if(ai = x) printf(“与x相同的元素的下标为%d”,i);flag=0;if(flag)printf(“没有与x相同的元素”);return 0; /断点3 语法错误:测试数据 预期结果 实际结果(连续运行时)调试过程:(指编译通过,无语法错误,但运行结果不对时,借助3个断点)在断点1处,查看数组各元素的值与你输入的数据是否一致3、从键盘输入一个班的成绩(最多20人),具体人数由键盘输入。要求:找出最高分及序号、计算平均分、统计不及格的人数 流程图#include#define SIZE 20void main()int i,n,index,count;float aSIZE,s,avg;printf(“Input n:n”);scanf(“%d”,&n);printf(“Input %d grades:n”,n);for(i=0;in;i+)scanf(“%f”,&ai);index=0;s=0;count=0;for(i=1;iaindex)index=i;printf(“最高分=%f,序号=%d”,aindex,index);for(i=0;in;i+)s=s+ai;avg=s/n;printf(“平均分=%f”,avg);for(i=0;in;i+)if(ai60)count+;printf(“不及格人数=%d”,count); 源程序语法错误:测试数据 预期结果 实际结果(连续运行时)调试过程:(指编译通过,无语法错误后,但运行结果不对时)4、定义一个长度为6的数组,从键盘输入6个数据给数组,并显示;然后输入一个新数据x,原数组中数据逐次前移,即a1a0,a2a1,a5a4,新数据xa5,输出新的数组。流程图源程序#include#define SIZE 6void main()int aSIZE,i,x,temp;printf(“Input 6 integers:n”);for(i=0;i6;i+)scanf(“%d”,&ai);for(i=0;i6;i+)printf(“%dn”,ai);printf(“Input x:n”);scanf(“%d”,&x);for(i=1;i6;i+)ai-1=ai;a5=x;for(i=0;i6;i+)printf(“%d”,ai);语法错误: 测试数据 实际结果(连续运行时)调试过程:(指编译通过,无语法错误后,但运行结果不对时)思考:数据移动时,若按照:a5a4 ,a2a1 ,a1a0的顺序编程,结果如何?a4=a3=a2=a1=a0=a55、*(选做)输入一个班的成绩(最多20人),具体人数由键盘输入,按分数从高到低排序并输出。流程图源程序#include#define SIZE 20void main()int i,n,index,k;float aSIZE,temp;printf(“Input n:n”);scanf(“%d”,&n);printf(“Input %d grades:n”,n);for(i=0;in;i+)scanf(“%f”,&ai);for(k=0;kn;k+)index=k; for(i=k+1;iaindex) index=i;temp=aindex;aindex=ak;ak=temp;for(i=0;in;i+)printf(“%f”,ai);语法错误: 测试数据 实际结果(连续运行时)调试过程:(指编译通过,无语法错误后,但运行结果不对时)6、*(选作) 把内容3中求最平均分的功能用一个函数去实现,如何改写? 函数接口 函数名: 形参: 返回值:源程序#includefloat avg(float b,int n);#define SIZE 20void main()int i,n,index,count;float aSIZE,s;printf(“Input n:n”);scanf(“%d”,&n);printf(“Input %d grades:n”,n);for(i=0;in;i+)scanf(“%f”,&ai);index=0;s=0;count=0;for(i=1;iaindex)index=i;printf(“最高分=%f,序号=%d”,aindex,index);s=avg(a,n);printf(“平均分=%f”,s);for(i=0;in;i+)if(ai60)count+;printf(“不及

温馨提示

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

评论

0/150

提交评论