按降序分别创建两个数组,分别为偶数和第二个奇数

时间:2016-04-10 11:02:31

标签: c arrays sorting

输出应该如下:

甚至是降序中的数组:8
甚至是降序中的数组:6
甚至是降序中的数组:4
即使是降序中的数组:2
甚至数组按降序排列:0

降序中的奇数阵列:9
降序中的奇数阵列:7
降序中的奇数数组:5
降序中的奇数阵列:3
降序中的奇数数组:1

#include<stdio.h>

void main()
{
    int i=0,j=0,k=0,odd[5],even[5],temp;

   for(i=0;i<10;i++)
   {
        if(i%2==0)
        {

                even[j]=i;
                j++;
        }
        else
        {

                odd[k]=i;
                k++;
        }
   }

   for(i=0;i<5;i++)
   {
       for(j=1;j<6;j++)
       {
           if(even[i]<even[j])
           {
               temp=even[j];
               even[j]=even[i];
               even[i]=temp;
          }
       }
       printf("Even Array in Descending order: %d \n",even[i]);
   }

   for(i=0;i<5;i++)
   {
       for(j=1;j<6;j++)
       {
           if(odd[i]<odd[j])
           {
               temp=odd[j];
               odd[j]=odd[i];
               odd[i]=temp;
           }
       }
       printf("Odd Array in Descending order: %d \n",odd[i]);
   }
}

1 个答案:

答案 0 :(得分:0)

您身边的一个小错误,在排序时,您首先运行for(j=1;j<6;j++)超出了数组界限,所以您需要做的是对代码进行一些更改。

首先:For循环应该以

运行
for(i = 0; i < 4; i++) {
    for(j = i + 1; j < 5; j++) {

    }
}

第二:在for循环后添加一个printf()语句,因为外循环只运行4次。

参考完整内容:

#include<stdio.h>

int main()
{
    int i=0,j=0,k=0,odd[5],even[5],temp;

   for(i=0;i<10;i++)
   {
        if(i%2==0)
        {

                even[j]=i;
                j++;
        }
        else
        {

                odd[k]=i;
                k++;
        }
   }

   for(i=0;i<4;i++)
   {
       for(j= i + 1;j<5;j++)
       {
           if(even[i]<even[j])
           {
               temp=even[j];
               even[j]=even[i];
               even[i]=temp;
          }
       }
       printf("Even Array in Descending order: %d \n",even[i]);
   }
    printf("Even Array in Descending order: %d \n",even[i]);
   for(i=0;i<4;i++)
   {
       for(j= i + 1;j<5;j++)
       {
           if(odd[i]<odd[j])
           {
               temp=odd[j];
               odd[j]=odd[i];
               odd[i]=temp;
           }
       }
       printf("Odd Array in Descending order: %d \n",odd[i]);
   }
   printf("Odd Array in Descending order: %d \n",odd[i]);
   return 0;
}

访问此link进行演示

乐意帮助!