大佬救救我,急!感谢感谢

数组合并与排序 【问题描述】 输入两个整数数组,每个数组有5个整数,将二者进行合并,然后按照数值从小到大排序输出. 【输入形式】 有两行输入,分别为第一个数组和第二个数组的元素赋值。每行输入中的每两个数值之间用空格分隔 【输出形式】 有两行输出,第一行输出为合并之后的数组元素值,第二行输出为排序后的数组元素值。每行输出中的每两个数值之间用逗号分隔 【样例输入】 9 1 5 3 7 8 0 6 4 2 【样例输出】 9,1,5,3,7,8,0,6,4,2 0,1,2,3,4,5,6,7,8,9

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
	int a[10];
	int b[5];
	int c[5];
	int i,j,t;
	
	printf("请输入5个数:");
	for(i=0;i<5;i++){
		scanf("%d",&b[i]);	
	}
	printf("请再输入5个数:");
	for(i=0;i<5;i++){
		scanf("%d",&c[i]);	
	}
	//合并
	for(i=0;i<10;i++){
		if(i<5){
			a[i] = b[i];
		}else{
			a[i] = c[i-5];
		}
	}
	printf("排序之前:\n");
    for(i=0;i<10;i++)
    	printf("%d\t",a[i]);
    printf("\n");
    for(i=0;i<10;i++)
    {
    	for(j=i+1;j<=9;j++)
    	{
    		if(a[i]>a[j])
    		{
    			t=a[i]; //t是临时变量
    			a[i]=a[j];
    			a[j]=t;	
    		}
    	}	
    }
    printf("排序之后:\n");
    for(i=0;i<10;i++)
    	printf("%d\t",a[i]);
    printf("\n");
    
    
}

 

//冒泡排序
void bubbleArr(int arr[],int len)
{
    for (int i = 0; i < len - 1; i++)
    {
        for (int j = 0; j < len - 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],b[5],c[10],i;
	scanf("%d %d %d %d %d %d %d %d %d %d",&a[0],&a[1],&a[2],&a[3],&a[4],&b[0],&b[1],&b[2],&b[3],&b[4]);
	memcpy(c,a,5*sizeof(int));
	memcpy(c+5,b,5*sizeof(int));
	bubbleArr(c,10);
	for(i=0;i<10;i++)
		if(i==0)
			printf("%d",c[0]);
		else
			printf(",%d",c[i]);
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632