我有这段代码,但这并没有向我显示所需的结果。即合并2个数组并按降序打印。我想合并2个排序的数组,从用户输入。用户也会告诉数组元素的大小,然后我的程序应该合并并降序排序并打印
int main()
{
int num1,num2,i,tem;
printf("Number of elements in first array:");
scanf("%d",&num1);
printf("Number of elements in second array:");
scanf("%d",&num2);
int array1[num1],array2[num2],merge[num1+num2];
printf("Elements for array 1 \n");
for ( i = 0; i < num1; i++)
{
printf("Element:");
scanf("%d",&array1[i]);
}
printf("Elements for second array\n");
for ( i = 0; i < num2; i++)
{
printf("Element:");
scanf("%d",&array2[i]);
}
for ( i = 0; i < num1; i++)
{
merge[i] = array1[i];
}
for ( i = 0; i < num2; i++)
{
merge[i+num1] = array2[i];
}
for ( i = 0; i < num1 + num2; i++ )
{
if ( merge[i] < merge[i+1] )
{
tem = merge[i];
merge[i] = merge[i+1];
merge[i+1] = tem;
}
}
printf("Merge:");
for ( i = 0; i < num1 + num2; i++ )
{
printf("%d ",&merge[i]);
}
return 0;
}
答案 0 :(得分:0)
int count1 = 10;
int count2 = 15;
int arNums1[];
int arNums2[];
int arMergeNums[];
arNums1 = new int[count1];
arNums2 = new int[count2];
arMergeNums = new int[count1 + count2];
//POPULATE YOUR FIRST TWO ARRAYS HERE...
//FILL YOUR MERGED ARRAY LIKE THIS:
for (int i = 0; i < (count1 + count2); i++)
{
if ( i < count1 )
arMergeNums[i] = arNums1[i];
else arMergeNums[i] = arNums2[i];
}
//THEN SORT IT LIKE THIS:
for (int i = 0; i < (count1 + count2); i++)
{
for (int j = i + 1; j < (count1 + count2); j++)
{
if (arMergeNums[i] < arMergeNums[j])
{
int temp = arMergeNums[i];
arMergeNums[i] = arMergeNums[j];
arMergeNums[j] = temp;
temp = null;
}
}
}
那是......
答案 1 :(得分:0)
$(document).ready(function(){
var cars = [4,3,9,6];
for(i=0;i<cars.length;i++){
//var carsrev=cars[cars.length-i-1];
//alert(carsrev);
$('<li>'+cars[cars.length-1-i]+'</li>').appendTo("ul.demo");
//alert($("ul.demo li").length);
}
});
// Out Put是6 9 3 4而不是9 6 4 3它只是反向