A. C語言編程,兩個分別為8和5的有序數組,合並為新數組,並排序。
#include<stdio.h>
voidmain()
{inta[8],b[5],c[13],i,j=0,k=0;
printf("請輸入第一個組的8個元素:");
for(i=0;i<8;i++)
scanf("%d",&a[i]);
printf("
請輸入第二個組的5個元素:");
for(i=0;i<5;i++)
scanf("%d",&b[i]);
for(i=0;j<8&&k<5;i++)
{if(a[j]<=b[k])
{c[i]=a[j]; j++;}
else
{c[i]=b[k]; k++;}
}
for(;j<8;)
{c[i++]=a[j++];}
for(;k<5;)
{c[i++]=b[k++];}
for(i=0;i<13;i++)
printf("%8d",c[i]);
}
B. c語言怎麼把兩個數合並在一起
答:c語言可根據其合並規則,把兩個數合並在一起。
具體操作步驟如下:
1 .建立一個足夠容納兩個數組所有元素的目標數組。如果規則規定將一個數組合並到另一個之中,那麼需要保證目標數組有可以容納兩個數組的空間,否則會出現越界。
2 .遍歷其中一個數組,並賦值到目標數組中。如果是一個數組合並到另一個,那麼此步可以省略。
3 .遍歷另一個數組,按照規則插入到目標數組中。
在不同規則下,合並演算法會有差異,如將長為lb的B數組附加到長為la的A數組結尾的操作,可以寫作。
inti;
for(i=0;ilb;i++)
A[la+i]=B[i];而將長度均為l的數組A,B,交替合並到C中,可以寫作。