实验报告
课程名称程序设计
实验项目名称数组
班级与班级代码 14级计算机科学与技术1班
实验室名称(或课室) SS1-332
专业计算机科学与技术
任课教师
学号:
姓名:
实验日期: 2014年月日
广东商学院教务处制
实验目的
熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。
熟练掌握字符数组和字符串函数的使用。
熟练掌握一位数组以及一位数组元素的存储关系。
熟练掌握一位数组和二维数组的使用以及在函数中的传递。
通过上机实践掌握与数组有关的算法。
二、实验内容
上机题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]);
}
}
实验步骤int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。
数组赋值方法和一般变量一样。例如,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);
}
实验结果
实验小结对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。
由于数组元素的下标可以是变量,因此数组的操作一般用循环实现。
上机题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<a[i])
{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("%
c语言实验7数组实验报告 来自淘豆网m.daumloan.com转载请标明出处.