用c语言编程:合并两个数组,降序排列
时间: 2024-05-12 07:18:31 浏览: 138
好的,这个问题可以回答。以下是用C语言编程合并两个数组并降序排列的方法:
```c
#include<stdio.h>
int main()
{
int n1,n2;
printf("请输入第1个数组的长度:\n");
scanf("%d",&n1);
int arr1[n1];
printf("请输入第1个数组的元素:\n");
for(int i=0;i<n1;i++)
scanf("%d",&arr1[i]);
printf("请输入第2个数组的长度:\n");
scanf("%d",&n2);
int arr2[n2];
printf("请输入第2个数组的元素:\n");
for(int i=0;i<n2;i++)
scanf("%d",&arr2[i]);
int merged[n1+n2];
int k=0,i=0,j=0;
while(i<n1&&j<n2)
{
if(arr1[i]>arr2[j])
{
merged[k]=arr1[i];
i++;
}
else
{
merged[k]=arr2[j];
j++;
}
k++;
}
while(i<n1)
{
merged[k]=arr1[i];
i++;
k++;
}
while(j<n2)
{
merged[k]=arr2[j];
j++;
k++;
}
printf("合并后的数组为:\n");
for(int i=0;i<n1+n2;i++)
printf("%d ",merged[i]);
return 0;
}
```
需要注意的是,我们可以使用类似快速排序的方法将合并后的数组降序排列。这里我采用了比较简单粗暴的方法,直接使用数组下标访问和交换。对于更优秀的排序算法和细节处理,可以参考更高级的教材和专业书籍。
阅读全文