我试图按降序对两个数组进行排序,但是每当我执行代码时,我都没有得到降序的输出,而是一次又一次地重复输入的元素。
#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循环。 我认为那是我缺少的东西。
答案 0 :(得分:1)
应该是
import_role