c语言实验7数组实验报告

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

实验报告

课程名称程序设计

实验项目名称数组

班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332

专业计算机科学与技术

任课教师

学号:

姓名:

实验日期:2014年月日

广东商学院教务处制

一.实验目的

1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。

2.熟练掌握字符数组和字符串函数的使用。

3.熟练掌握一位数组以及一位数组元素的存储关系。

4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。

5.通过上机实践掌握与数组有关的算法。

二、实验内容

上机题1输入并运行以下程序。

实验内容:用2个数组对第3个数组进行赋值

#include

main()

{int i,a[5],b[5],c[5];

a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;

b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;

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

{c[i]=a[i]*b[i];

printf("c[%d]=%d\n",i,c[i]);

}

}

实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。

○2数组赋值方法和一般变量一样。例如,a[0]=2表示将2赋给a[0]。

运行结果

上机题2 输入并运行以下程序。

实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include

main()

{int sum,i;

int a[]={5,8,4,6,4,3,8,2,4,5,6};

sum=0;

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

sum+=a[i];

printf("sum=%d\n",sum);

}

实验结果

实验小结○1对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。

○2由于数组元素的下标可以是变量,因此数组的操作一般用循环实现。

上机题3 程序实现:从键盘输入5个数,输出最大、最小元素的值以及它们的下标。将程序补充完整并上机调试。

实验内容:用循环结构对数组进行输入并求出最大最小值及下标

#include

main()

{int i,j,k,max,min;

int a[5];

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

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

max=min=a[0];

i=k=0;

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

{if(max

{max=a[i];j=i;}

else if(max>a[i])

{min=a[i];k=i;}

}

printf("max:a[%d]=%d,min:a[%d]=%d\n",j,max,k,min);

}

实验结果

实验小结:比较最值时令第一个值为最大最小值,再用循环结构把最大值最小值赋给max min

上机题4 输入并运行以下程序,分析程序运行结果。

实验内容:二维数组的加法

#include

main()

{int i,j;

int a[3][2]={12,34,24,11,45,20};

int b[3][2]={11,23,34,13,10,64};

int c[3][2];

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

for(j=0;j<=1;j++)

c[i][j]=a[i][j]+b[i][j];

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

{for(j=0;j<=1;j++)

printf("%d+%d=%d ",a[i][j],b[i][j],c[i][j]); printf("\n");

}

}

实验结果:

实验小结:以上程序实现两个3行2列的矩阵相加,如果要实现两个矩阵相乘,在其程序的第9行和第12行的“+”改为“*”。

上机题5 程序实现:从键盘输入12个数,组成一个3行4列的二维数组并输出。将程序补充完整并上机调试。

实验内容:对二维数组的输入输出

#include

main()

{int a[3][4];

int i,j;

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

for(j=0;j<4;j++)

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

printf("The result is:\n");

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

{for(j=0;j<4;j++)

printf("%5d",a[i][j]);

printf("\n");

}

}

实验小结运行程序后,从键盘输入的12个整数应以空格、Enter键或Tab 键分开。

分别输出各行最小值各列最大值

实验过程:#include

main()

{int a[3][4];

int i,j,min ,max;

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

for(j=0;j<4;j++)

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

printf("The result is:\n");

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

{for(j=0;j<4;j++)

{printf("%5d",a[i][j]);

min=a[i][0];

if(a[i][j]

};

for(j=0;j<4;j++)

{for(i=0;i<3;i++)

{max=a[0][j];

if(a[i][j]>a[0][j])max=a[i][j];} printf("\t%d",max);}

相关文档
最新文档