实验五 -数组

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

实验五数组

一、实验目的

1.掌握一维数组与二维数组的定义、赋值及输入输出方法。2.掌握字符数组和字符串函数的使用。

3.掌握与数组有关的算法。

二、实验要求

1.熟悉环境;

2.按照编程风格要求正确写源程序

3.能得到正确的程序运行结果

4.本实验要求写实验报告。

三、主要仪器及耗材

计算机及软件

四、基础实验

1. 输入以下程序,查看输出结果。

#include <>

void main()

{

int i,k=5,a[10],p[3];

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

a[i]=i;

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

p[i]=a[i*(i+1)];

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

k=k+p[i]*2;

printf(“%d\n”,k);

}

输出:21

2. 输入以下程序,查看输出结果。#include <>

void main()

{

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

int b[3][2],i,j;

printf("矩阵a为:\n");

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

{

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

{

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

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

}

printf("\n");

}

printf("矩阵b为:\n");

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

{

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

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

printf("\n");

}

}

输出:矩阵a为:

1 2 3

4 5 6

矩阵b为:

1 2

2 5

3 6

程序功能:输出一个二行三阶矩阵和一个三阶二行矩阵

3. 程序改错

设有4x4的方阵,其中的元素由键盘输入,求出主对角线上元素之和。

1 #include<>

2 void main()

3 {

4 int a[4][4];

5 int i,j,sum;

6 printf("please input the numbers:");

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

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

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

10 for(i=1;i<4;i++)

11 {for(j=1;j<4;j++)

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

13 printf(“\n”);

14 }

15 printf("\n");

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

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

18 if(i=j) sum=sum+a[i][j];

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

20 }

(1)请填写出错情况:

(2)修改后的程序及运行结果:

#include <>

void main()

{

int a[4][4];

int i,j,sum=0;

printf("please input the numbers:");

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

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

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

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

{

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

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

printf("\n");

}

printf("\n");

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

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

if(i==j) sum=sum+a[i][j];

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

}

输出: please input the number:48 79 48 16 47 49 28 49 78 49 13 15 16 17 19 17

48 79 48 16

47 49 28 49

78 49 13 15

16 17 19 17

sum=127

4.编程。设有3x3的方阵,对其中的元素值进行初始化,求出方阵中最大的元素。输出示例:

#include<>

void main()

{

int a[3][3],i,j,max=0;

printf("input the numbers:");

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

{

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

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

}

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

{

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

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

printf("\n");

}

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

{

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

if(a[i][j]>max) max=a[i][j]; }

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

}

相关文档
最新文档