C语言数据结构中串和数组的三个问题!!高手速来!急!!在线等!

2024-12-19 13:49:07
推荐回答(3个)
回答1:

第一题 结果为 m*(n-m+1) 比如 子串 001 主串 0001 这就是最坏情况
第二题 第一问 求a[5][7] 由a[0][0]=1000(地址); a[0][1]=1006(因为6个字节) ;所以对于a[5][7]可以用(5*8+7)*6+1000=1282;或者直接用1000+(6*8-1)*6=1282;同理a[1][4]用(1*8+4)*6+1000=1072;
第三题 由题a[1][1]=2048(地址) 因为按列储存 所以a[32][58] 就为
((58-1)*60+32-1)*2+2048=9050; 其实可以把二维数组相像成想x-y坐标系 把求地址相像成求数列;即an=a1+(n-1)*d;

回答2:

在a[7[[6]前面共有a[0]到a[6] 七行,每行的下三角元素个数分别为1,2,3,4,5,6,7,加起来共28个。然后第a[7]行中,a[7][6]前面又有a[7][0]到a[7][5]共6个元素,所以,以行为主序时,a[7][6]前面要存储的元素共有28+6=34个,
所以a[7][6]的地址为:&a[7][6]=2000+34*3=2012

回答3:

第三题答案8950