一维数组程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训六一维数组程序设计

一、实训目标

熟练掌握使用一维数组的编程方法和常用算法。

1、掌握数组的定义、输入和输出方法。

2、掌握下标变量的使用方法。

3、掌握求极值、分类统计、排序、查找、移动等常用算法。

4、进一步熟练程序的调试和测试方法。

5、*学习数组作为函数参数的编程方法。

二、语法练习

1、数组是把同类型的变量组织在一起。

2、 int a[5]; 表示定义了 5 个整形类型的变量,分别为:

a[2]、a[3]、 a[4] 、 a[0] ,各元素在内存中连续存放,数组名a表示数组在内存中的初始地址。

3、在C语言中对一维整型数组的正确定义为 D 。

A)int a(10); B)int n=10,a[n];

C)int a[ ]; D)#define N 10

int a[N];

4、以下能对一维数组a进行初始化的语句是: ( C )

A. int a[5]=(0,1,2,3,4,);

B. int a(5)={} ;

C. int a[3]={0,1,2};

D. int a[5]={5*1};

5、已知:int a[10]; 则对a数组元素的正确引用是( D )。

A、a[10]

B、a[3.5]

C、a(5)

D、a[0]

6、若有以下数组说明,则数值最大的和最小的元素下标分别是( B )。

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12

B.0,11

C.1,11

D.0,12

7、若有以下数组说明,则i=4;a[a[i]]元素数值是( A )。

int a[6]={ 8,11,3,6,2,12};

A.3

B.2

C.6

D.11

8、设有定义int a[5],i;用for循环结构分别写出数组的输入和输出程序段。

for(i=0;i<5;i++)

scanf(“%d”,&a[i]);

for(i=0;i<5;i++)

printf(“%d”,&a[i]);

三、实训内容和步骤

1、定义一个具有10个元素的一维整型数组,从键盘给各元素赋值,并以每行4个数的

格式输出。

源程序

#include

#define SIZE 10

void main()

{

int i,a[SIZE];

printf(“Input 10 integers:\n”);

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

for(i=0;i<10;i++)

{

printf(“%d ”,a[i]);

if((i+1)%4==0)

printf(“\n”);

}

}

语法错误:

测试数据预期结果实际结果(连续运行时)

调试过程:(指编译通过,无语法错误,但运行结果不对时)

思考:(结合上一个实验内容)

1)int a[10]; 未初始化时,各数组元素的值是多少?

2)int a[10]={1,3};则a[0]~a[9]的值分别为:

2、改错(教育在线上需改错的程序文件夹中err6_1.cpp),程序功能为:在数组a中查找与x相同的元素,如找到,输出x在数组中的下标。(要求画出流程图)

有错的源程序

#include

int main()

{

int i, x, n;

int a[n];

printf("输入数组元素的个数:");

scanf("%d", &n);

printf("输入数组%d个元素:",n);

for(i = 0; i < n; i++)

scanf("%d", &a[i]);

printf( "x= " ); //断点1

scanf("%d", &x);

for(i = 0; i < n; i++)

if(a[i] != x) break; //断点2

if(i!=n)

printf( "没有找到与%d相等的元素!\n", d);

else

printf( "和%d相同的数组元素是a[%d]=%d\n", x, i, a[i]);

return 0; //断点3

}

修改后的源程序

#include

#define SIZE 100

int main()

{

int i, x, n,flag;

int a[SIZE];

flag=1;

printf("输入数组元素的个数:");

scanf("%d", &n);

printf("输入数组%d个元素:",n);

for(i = 0; i < n; i++)

scanf("%d", &a[i]);

printf( "x= " ); //断点1

scanf("%d", &x);

for(i = 0; i < n; i++)

if(a[i] == x) {

printf(“与x相同的元素的下标为%d”,i);flag=0;}

if(flag)

printf(“没有与x相同的元素”);

return 0; //断点3

}

语法错误:

测试数据预期结果实际结果(连续运行时)

调试过程:(指编译通过,无语法错误,但运行结果不对时,借助3个断点)

在断点1处,查看数组各元素的值与你输入的数据是否一致

3、从键盘输入一个班的成绩(最多20人),具体人数由键盘输入。要求:找出最高分及

序号、计算平均分、统计不及格的人数

流程图

#include

#define SIZE 20

void main()

相关文档
最新文档