【问题描述】 8 5?1?4?3?8?7?9?6? 4 5?2?8?10 【样例输出】 1?3?4?6?7?9 【样例说明】 | 2 |
解答:
#include<stdio.h>
void bubbleSort(int arr[],int len);
void printArr(int arr[],int len)
{
?? ?for(int i=0;i<len;i++)
?? ?{
?? ??? ?printf("%d ",arr[i]);
?? ?}?? ?
}
int main()
{
?? ?int n1,n2,arr1[20],arr2[20],active;
?? ?scanf("%d",&n1);
?? ?for(int i=0;i<n1;i++)
?? ?{
?? ??? ?scanf("%d",&arr1[i]);
?? ?}
?? ?scanf("%d",&n2);
?? ?for(int i=0;i<n2;i++)
?? ?{
?? ??? ?scanf("%d",&arr2[i]);
?? ?}
?? ?/*int len=n1+n2;
?? ?int *arr=malloc(len*sizeof(int));
?? ?for(int i=0;i<n1;i++)
?? ?{
?? ??? ?arr[i]=arr1[i];
?? ?}
?? ?int j=n1,k=0;
?? ?for(;j<len&&k<n2;j++,k++)
?? ?{
?? ??? ?arr[j]=arr2[k];
?? ?}
?? ?bubbleSort(arr,len);*/
?? ?bubbleSort(arr1,n1);
//?? ?int same[20];
//?? ?int k=0;
//?? ?int arr[20];
//?? ?int count=0;
//?? ?//find same numbers
//?? ?for(int i=0;i<n2;i++)
//?? ?{
//?? ??? ?
//?? ??? ?for(int j=0;j<n1;j++)
//?? ??? ?{
//?? ??? ??? ?if(arr2[i]==arr1[j])
//?? ??? ??? ?{
//?? ??? ??? ??? ?same[k]=arr2[i];
//?? ??? ??? ??? ?k++;
//?? ??? ??? ?}
//?? ??? ?}
//?? ?}
?? ?for(int i=0;i<n1;i++)
?? ?{
?? ??? ?active=1;
?? ??? ?for(int j=0;j<n2;j++)
?? ??? ?{
?? ??? ??? ?if(arr2[j]==arr1[i])
?? ??? ??? ?{
?? ??? ??? ??? ?active=0;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ?}
?? ??? ?if(active)
?? ??? ?{
?? ??? ??? ?printf("%d ",arr1[i]);
?? ??? ?}
?? ?}
?? ?return 0;
}
void bubbleSort(int arr[],int len)
{
?? ?for(int i=0;i<len-1;i++)
?? ?{
?? ??? ?for(int j=0;j<len-1-i;j++){
?? ??? ??? ?if(arr[j]>arr[j+1]){
?? ??? ??? ??? ?int temp=arr[j];
?? ??? ??? ??? ?arr[j]=arr[j+1];
?? ??? ??? ??? ?arr[j+1]=temp;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}
?