网站大量收购独家精品文档,联系QQ:2885784924

C语言实验报告 实验六 参考答案 .pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验六二维数值数组(参考答案)

(1)设计程序sy6-1.c,从键盘上输入一个3行3列矩阵各个元素的值,输出其主对角线元素和反向对角线元

素之和。

算法分析:

方阵主对角线上的元素,行下标和列下标相同;辅对角线元素,如果行下标为i,列下标就为2-i;

参考答案:

#includestdio.h

#includestdlib.h

#includemath.h

#includetime.h

voidmain()

{

inta[3][3];

inti,j,sum=0;

srand(time(NULL));

printf(矩阵:\n);

for(i=0;i3;i++)//用随机函数生成3行3列的二维数组并按矩阵格式输出

{for(j=0;j3;j++)

{a[i][j]=rand()%20;

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

}

printf(\n);

}

for(i=0;i3;i++)

sum=sum+a[i][i]+a[i][2-i];

printf(该矩阵的正、反对角线元素之和为:%d\n,sum);

}

运行结果:

(2)设计程序sy6-2.c,找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于b数组中。

算法分析:

按列序遍历二维数组,每列用打擂台的方法求最大数,N列则有N个最大值,分别存于b数组的对应

元素中。

#includestdio.h

#includestdlib.h

#includemath.h

#includetime.h

#defineN4

voidmain()

{inta[N][N],b[N];

inti,j;

srand(time(NULL));

printf(矩阵:\n);

for(i=0;iN;i++)//用随机函数生成N行N列的二维数组并按矩阵格式输出

{for(j=0;jN;j++)

{a[i][j]=rand()%20;

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

}

printf(\n);

}

for(j=0;jN;j++)//外循环控制列下标

{b[j]=a[0][j];//假设每列的0行元素是最大数

for(i=1;iN;i++)

if(b[j]a[i][j])

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

}

printf(该矩阵每列元素的最大值是:\n);

for(i=0;iN;i++)

printf(%4d,b[i]);

printf(\n);

}

运行结果:

(3)设计程序sy6-3.c,定义一个3×3的二维数组,通过随机函数自动赋值。然后输入一个整数n,使数组

左下三角(含对角线元素)元素中的值乘以n。例如:若n的值为3,a数组中的值为

|197|则程序运行后a数组中的值应为|397|

|238||698|

|456||121518|

算法分析:

按行序遍历二维数组元素,若用i变量表示行下标,则i的范围是0~2,用j变量表示列下标,则j的

范围是0~i(含对角线元素)。

参考答案:

文档评论(0)

343906985 + 关注
实名认证
内容提供者

一线教师,有丰富的教学经验

1亿VIP精品文档

相关文档