首页 > 试题广场 >

假设有60行70列的二维数组 a[1 …60, 1…70 ]

[单选题]
假设有60行70列的二维数组 a[1 …60, 1…70 ] 以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素 a[ 32,58 ] 的存储地址为
  • 16902
  • 16904
  • 14454
  • 以上答案均不对
注意:题目是说按列存储,不是按行存储!!存储第32行第58列元素之前,一共存储的元素个数为:57*60+31=3451,需要的存储单元数为3451*2=6902,又因为基地址为10000,故存储完第31行第58列元素位置为16901,所以存储第32行第58列元素地址为16902(开始)。
发表于 2017-07-31 10:23:32 回复(4)
本渣表示对二维数组的表示不太熟悉 
第32行第58列的元素 表示为 a[   32,58   ] ,但是我们习惯写成a【31】【57】
首先,二维数组可以表示为A【60】【70】 (60行70列)
a[   31,57   ]
以列序为主: (57*60+31)*2+10000= 16902
以行序为主: (31*70+57)*2 +10000= 14454
编辑于 2017-06-07 20:05:37 回复(0)
A为什么不对,10000+(57*60+31)*2=16902
发表于 2017-05-16 16:48:04 回复(1)
我就搞不懂他数组是怎么从1开始的!
发表于 2018-08-09 14:06:56 回复(0)
以列为主应该是(60*57 + 32)*2 + 10000 - 2= 16902
发表于 2017-05-24 17:01:42 回复(2)
[(58-1)*60+(32-1)]*2+10000就是答案
发表于 2017-09-28 16:03:05 回复(0)
只想知道第1行第1列也就是第一个数据是多少? 按答案来看,应该是说的10000。如果是10000+2,那计算方式应该是((列数-1)*60+行数))*2+10000 ,就对于这个基地址不是很了解,不知道这个基地址是不是指第一个数据的地址。
发表于 2017-07-26 03:52:10 回复(1)
首先需要了解什么是基地址,存储区中第一个字节的地址用来当存储区的首地址,又称基地址, 且该题是以列主导的,所以(57×60 + 32)× 2 + 10000 = 16904,但是可以看出基地址被计算了两次,所以需要减去一次,即16904-2=16902
编辑于 2022-02-09 12:32:27 回复(0)
注意 是按列存储
发表于 2021-03-24 01:06:17 回复(0)

基地址等于初始地址,比存储地址少一个

发表于 2018-07-23 17:56:04 回复(0)
狗蛋,直接按照老套路计算,发现没有一个答案,直接选中D了。题目说的是从1行1列开始!以列序为主原来的行就是列了,原来的列就是行了
a[32][58]表示 57*60+31 =3451,10000+3451*2 = 16902
发表于 2018-02-09 22:02:48 回复(1)
是不是14456?
(31*70 + 58)*2 + 10000
发表于 2017-05-16 23:26:38 回复(5)
注意⚠️“以列序为主序”。由于它在第 58 列,所以先计算前面 57 列有多少元素,第一个元素是从 1 开始的,不用减 1:57×60=3420 然后再计算第 58 列前面有几个元素:32-1=31。前面共 3420+31=3451 个元素。占用储存空间:3451×2=6902。所以存储地址就是 10000+6902=16902
发表于 2023-10-24 18:06:02 回复(0)
1. 注意要区分是按照行优先还是列优先进行存储的。
2. 注意元素的下标是从0开始还是从1开始
3. 注意最后一个元素的位置,一般是开头,相当火车的车头而不是火车的车尾巴!
发表于 2023-08-31 14:11:16 回复(1)
[(57*60+31)*2]+10000=16902
发表于 2023-04-25 13:14:11 回复(1)
<p>先求实际排序个数,然后看题求第k值还是之间的差值。</p><p>若是存到另一个数组看另一个数组起始值在判定要不要减一</p><p>如是指明是数组,默认从0开始</p><p>如问存储地址就是问中间个数</p><p><br></p>
发表于 2020-12-18 15:57:56 回复(0)
57*60表示共57列每一列有30个单位
发表于 2018-08-16 22:14:02 回复(0)
答案错了,应该选A
发表于 2017-05-22 22:44:03 回复(0)
57×60+31=3451,3451×2=6902
发表于 2023-07-03 19:45:07 回复(0)
真要认真看题,列为主序!!!!!!!!!!
计算都很简单的,关键在方法,在路,路选错了就啥也不是!!!!!!!
发表于 2023-04-30 21:03:48 回复(0)