实验四

Task 1

问题1:int型⼀维数组x,在内存中是否是连续存放的?数组名x对应的值,和&x[0]是⼀样的吗? 答:int型一维数组x在内存中是连续存放的。数组名x对应的值,和&x[0]是一样的。

问题2:int型⼆维数组x,在内存中是否是"按⾏连续存放"的?数组名x的值、x[0]、&x[0][0],其值,在字⾯ 上,是⼀样的吗?x[0]和x[1]相差多少?你能猜测/推断出这个差值的意义吗?

答:int型二维数组x在内存中是按行连续存放的。数组名x的值、x[0] 、&x[0][0]在字面上值是一样的 。x[0]和x[1]相差 16(从运行结果可知地址差值 ),这个差值表示一行元素所占的字节数,因为二维数组一行有 4 个int元素,每个int一般占 4 字节,4 * 4 = 16 字节,反映了二维数组按行存储,相邻行之间的内存间隔

Task 2

函数input的功能是?

input函数的功能是通过用户输入,为一维整型数组x的n个元素赋值。

函数compute的功能是?

compute的功能是遍历数组x ,将数组元素累加到变量ans中,同时找出数组中的最大值high和最小值low 。 最后计算去掉最大值和最小值后,剩余元素的平均值,即(ans - high - low)/(n - 2) ,并返回该平均值。 

Task 3

问题1:两维数组作为函数形参时,哪⼀维的⼤⼩不能省略?

第二维的大小不能省略

问题2:函数output功能是?函数init的功能是?

output函数功能:遍历二维数组x ,通过两层for循环,按行依次输出数组中的每个元素,每行元素输出完后换行。

init函数功能:通过两层嵌套的for循环,遍历二维数组x的前n行n列,将这些元素都赋值为传入的value ,实现对二维数组指定区域元素的初始化。

Task 4

 Task 5

 

 

Task 6

 

posted on 2025-04-17 15:19  chiwawa0412  阅读(21)  评论(0)    收藏  举报