【无标题】

1. 选择题 关于数组初始化,下列说法不正确的是:(C)

A. ⼆维数组初始化的时候,列数是必须给出的,⾏数可以由编译器来数。

B. ⼆维数组初始化的时候,每⾏⼀个{},逗号分隔。

C. 对⼀维数组初始化的时候,即使给全部元素都赋了初值,也不能省略数组⻓度

D. ⼆维数组初始化的时候,最后的逗号可以存在

原因:A、正确 B、正确

          C、一维数组初始化时,如果全部元素都进行了赋值,可以省略数组长度,编译器会根据元素数量自动确定数组长度。

         D、一维数组初始化,在最后一个元素后面加逗号,编译器允许这种写法,不影响代码格式

           

答案是C,数组类型属于引用数据类型,存放的是地址,声明的char类型的数组中存放的是地址,不可以用字符串类型来赋值,数据类型不能互相转换。

3、选择题(C)

原因:数组第一维的下标是i,说明它前面还有i行,有i*m个元素,数组的第二维的下标是j,说明前面还有j列,有j个元素,所以共有i*m+j个元素

选A

5、

在for循环的遍历过程中,当程序执行到a[0][2]时,由于超出了数组的范围,故直接转换为a[1][0]

=3,然后继续执行a[1][0],当运行到a[1][2]时,同样转换为a[2][0]=5,然后当i=2时,程序跳出for循环,换行。

6、参考学习通上传的PPT「第⼋章 数组」,仿照【例8.7】计算最⾼分,使⽤「数组 + 函 数」,计算最低分。这道题重点考查如何向函数传递⼀位数组。

7、

参考学习通上传的PPT「第⼋章 数组」,仿照【例8.8】⽤交换法对成绩降序排序,使⽤ 「数组 + 函数」,对10个double 类型的数值进⾏从⼩到⼤进⾏排序。

8、8. 附加题 题⽬:输⼊⼀个⼆维数组的⾏数 m(m≤10),列数 n(n≤10),⼆维数组的各元素 值。输出周边元素之和。 说明:「周边元素是指⾸⾏、⾸列、末⾏、末列的数组元素」 输⼊⽰例:3⾏4列,后接具体的3⾏4列数组

/*题目:输入一个二维数组的行数 m(m≤10),列数 n(n≤10),二维数组的各元素
值。输出周边元素之和。
说明:「周边元素是指首行、首列、末行、末列的数组元素*/
#include <stdio.h>
int main() {
	int arr[10][10];
	int result = 0;
	int m,n;
	scanf("%d",&m);
	scanf("%d",&n);
	for(int i = 0; i < m; i++)
		for(int j = 0; j < n; j++)
			scanf("%d",&arr[i][j]);
	for(int i = 0; i < m; i++)
		for(int j =0; j <= n; j++)
			if(i == 0 || j == 0 ||i == m - 1 || j == n - 1) {
				result += arr[i][j];
			}
	printf("%d",result);
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值