#include <stdio.h>
// 冒泡排序函数
void bubbleSort(int arr[], int size)
{
for (int i = 0; i < size - 1; i++)
{
for (int j = 0; j < size - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int a[5] = {9, 78, 33, 12, 23};
int b[8] = {1, 34, 63, 10, 5, 94, 39, 27};
int c[13];
// 排序数组a
bubbleSort(a, 5);
// 输出排序后的数组a
printf("排序后的a数组:\n");
for (int i = 0; i < 5; i++)
{
printf("%4d\n", a[i]);
}
// 排序数组b
bubbleSort(b, 8);
// 输出排序后的数组b
printf("排序后的b数组:\n");
for (int i = 0; i < 8; i++)
{
printf("%4d\n", b[i]);
}
// 合并数组a和数组b到数组c
int i = 0, j = 0, k = 0;
while (i < 5 && j < 8)
{
if (a[i] < b[j])
{
c[k++] = a[i++];
}
else
{
c[k++] = b[j++];
}
}
while (i < 5)
{
c[k++] = a[i++];
}
while (j < 8)
{
c[k++] = b[j++];
}
// 对数组c进行排序
bubbleSort(c, 13);
// 输出排序后的数组c
printf("合并排序后的c数组:\n");
for (int i = 0; i < 13; i++)
{
if (i == 12)
{
printf("%4d", c[i]);
}
else
{
printf("%4d\n", c[i]);
}
}
return 0;
}
第三题答案
最新推荐文章于 2024-08-29 16:37:54 发布