c语言题目——数组排序

c语言题目——数组排序_第1张图片

 

会可能卡着的点:在于不会把剩余的给加上,例如一个数组已经完成了,不知道如何将另一个数组全部输出而不导致错误。

解法1:

int a=0,b=0;

    int m[1000]={0};//一定要写大一点的空间,防止数组溢出

    int n[1000]={0};

    scanf("%d %d",&a,&b); 

    int i=0;

    int j=0;

//开始排序

 while(i

        if(m[i]

            printf("%d ",m[i]);

            i++;

        }else{

            printf("%d ",n[j]);

            j++;

        }

    }//基本的排序完成

    //下面是未输进去的数组全部输出

    if(i==a && j

        for(;j

            printf("%d ",n[j]);

         }

    }else{

        for(;i

            printf("%d ",m[i]);

        }

    } 

    return 0;

}

方法2:

#include

int main()

{

    int n, m;

    scanf("%d %d\n", &n, &m);//输入n,m

    int i, j,arr[2000];

    int tmp;

    for(i=0; i

    {

        scanf("%d ", &arr[i]);

    }

    for(i=n; i

    {

        scanf("%d ", &arr[i]);

    }//输入到一个数组中去

    for(i=0; i

    {

        for(j=0; j

        {

            if(arr[j] > arr[j+1])

            {

                tmp = arr[j];

                arr[j] = arr[j+1];

                arr[j+1] = tmp;

            }

        }

    }//冒泡排序完成输出

    for(i=0; i

    {

        printf("%d ", arr[i]);

    }//输出新的数组

}

你可能感兴趣的:(c/c++,c语言)