麻烦帮我解释哈这个c语言程序,题目是将两个有序的数组合并到另一个数组中,要求后仍有序

问题描述:

麻烦帮我解释哈这个c语言程序,题目是将两个有序的数组合并到另一个数组中,要求后仍有序
main()
{
int i=0,m=5,a[5]={1,3,7,9,13};
int j=0,n=6,b[6]={2,4,8,16,20,24};
int k=0,c[11];
while(i+j=n) c[k++]=a[i++];
else if(i>=m) c[k++]=b[j++];
else if(a[i]
1个回答 分类:综合 2014-10-17

问题解答:

我来补答
m是a数组中数据的总数,n是b数组中数据的总数
i用于在数据a到c的传递中控制a的数组下标,总是a[i]被传递给C[k]
j用于在数据b到c的传递中控制b的数组下标,总是b[j]被传递给C[k]
while 循环的条件表示,当被传递给c的数据元素小于a、b中的数据总数时,循环继续进行
if(j>=n)表示当b中传递给c数据总数达到了b数组中数据总数,就是说,当b数组中的数据已经全部传递给c的情况下,只要把a中的剩余数据传递给c即可.
否则,当j=m,即是否a中的所有数据已经进入c数组,如果i>=m表明a组中的数据已经全部进入了c,则直接将b组中的剩余数据送入c即可.
只有在当j
 
 
展开全文阅读
剩余:2000