我正在尝试合并两个数组并按降序对其进行排序

时间:2019-01-26 04:32:10

标签: c

我试图按降序对两个数组进行排序,但是每当我执行代码时,我都没有得到降序的输出,而是一次又一次地重复输入的元素。

  #include <stdio.h>
    void main()
    {
        int arr1[100], arr2[100], arr3[200];
        int s1, s2, s3;
        int i, j, k;


           printf("enter the number for first array :");
           scanf("%d",&s1);

           for(i=0;i<s1;i++)
                {
              printf("element - %d : ",i);
              scanf("%d",&arr1[i]);
            }

           printf("enter the number for first array :");
           scanf("%d",&s2);

           for(i=0;i<s2;i++)
                {
              printf("element - %d : ",i);
              scanf("%d",&arr2[i]);
            }

        s3 = s1 + s2;
    //here i am merging two arrays in a third int variable that is arr3
        for(i=0;i<s1; i++)
            {
                arr3[i] = arr1[i];
             }
         for(j=0;j<s2; j++)
            {
                arr3[i] = arr2[j];
                i++; 
            }

       for(i=0;i<s3; i++)
            {
               for(k=0;k<s3-1;k++)
                 {
                   if(arr3[k]<=arr3[k+1])
                     {
                       j=arr3[k+1];
                       arr3[k]=j;
                     }
                     //printf("the value of %d of [%d] is : %d \n" ,i,k, arr3[k]);              
                }
            }  

            //here i am printing the sorted array in descending order

            for(i=0;i<s3;i++){
                printf("%d" , arr3[i]);
            }
    }

也请帮助我进行内部k循环。 我认为那是我缺少的东西。

1 个答案:

答案 0 :(得分:1)

应该是

import_role