C语言 数组问题。将一个按升序排列的数组和一个按降序排列的数组,按升序合并后放到其中一个数组中。

C语言 数组问题。将一个按升序排列的数组和一个按降序排列的数组,按升序合并后放到其中一个数组中。怎么改?

第1个回答  2017-03-18
#include<stdio.h>

#define M 5
#define N 3

int main()
{
int a[M],b[N],c[M+N];
int i,j,k,m;
for(i=0;i<M;i++)
{
scanf("%d",&a[i]);
}
for(j=0;j<N;j++)
{
scanf("%d",&b[j]);
}
for(i=0,j=N-1,k=0;k<M+N;k++)
{
if(a[i]<b[j]||j<0)
{
c[k]=a[i++];
}
else if(j>=0)

{
c[k]=b[j--];
}

}
for(k=0;k<M+N;k++)
{
printf("%d ",c[k]);
}
return 0;
}
第2个回答  2017-03-18
可以将两个数组的元素都放到一个数组里,然后用sort()函数处理本回答被网友采纳
第3个回答  2017-03-17
B追问

这是…一个程序

追答

哦我搞错了

我也会程序是什么样的一个程序呢能给我解答一下吗

C语言 数组问题。将一个按升序排列的数组和一个按降序排列的数组,按...
printf("%d ",c[k]);} return 0;}

C语言 升序和降序合并,最后得个升序
int main(){ int a[]={2,5,9,16,22},b[]={27,25,11,4,3},c[10];int lena,lenb,i,ii,temp=0,j=0;lena=sizeof(a)\/sizeof(a[0]);lenb=sizeof(b)\/sizeof(b[0]);for(ii=lenb-1;ii>=0;ii--){ for(i=temp;i<lena;i++){ if(b[ii]>=a[i]){ c[j]=a[i];...

求C语言将数组元素大小排序!!
10、2、3、4、5、6、9、8、7、1是输入的待排序的数列,经过第一次排序,将最大的,10放在最后,第二次排序,将剩下的2、3、4、5、6、9、8、7、1进行冒泡,将当前最大的9放在倒数第二的位置,以此类推。以下是具体代码:include <stdio.h> int main(){ int nums[10] = {10, 2, 3...

c语言编程: 将一组数按从大到小的顺序排序
include <stdio.h> main(){ int x;printf("请输入要排序数字个数:");scanf("%d",&x);int i,j,k,a,b,num[x];printf("输入数据:");for(i=0;i<x;i++)scanf("%d",&num[i]);for(j=0;j<x;j++){ for(k=j+1;k<x;k++)if(num[k]>num[j]){ a=num[j];num[j]=num...

c语言程序设计:有一个已排好序的数组,要求输入一个数后,按原来排序的规...
设排序是从大到小进序的,则可把欲插入的数与数组中各数逐个比较,当找到第一个比插入数小的元素i时,该元素之前即为插入位置。然后从数组最后一个元素开始到该元素为止,逐个后移一个单元。最后把插入数赋予元素i即可。如果被插入数比所有的元素值都小则插入最后位置。main(){ int i,j,p,q,s...

C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出
const void *b) { return *(char*)a - *(char*)b; \/\/ 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qsort(s, strlen(s), 1, cmp); printf("%s", s); return 0;} ...

用c语言编写:将两个升序的数组归并成一个新的升序数组
\/\/之前写过的,你可以参考下#include <stdio.h>int main(){int str1[5]={3,6,7,45,55};\/\/两个升序数组int str2[5]={8,10,11,22,25};int out[10];\/\/输出数组int i=0,j=0,k=0;while (i<5&&j<5){\/\/循环将较小元素放入Cif (str1[i]<str2[j]){out[k]=str1[i];i...

编写一个函数实现两个按升序排列的顺序表的合并操作,要用C语言编写,能...
\/*采用数组实现 int merge(int* a,int* b,int*c,int alen,int blen){ int i=0,j=0,k=0;\/\/每次将a和b中当前的元素进行比较,并将小的一个存入到c中 while(i<alen && j<blen){ if(a[i]<b[j])c[k]=a[i++];else c[k]=b[j++];k++;} \/\/其中一个数组已经结束,将另一...

C语言中,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它...
C语言,有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。解:include int main(){ int a[11]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("array a:\\n");for (i=0;i<10;i++)printf("%5d",a[i]);printf("\\n");pri...

C语言数组七个数升序排列和降序排列怎么编程?
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、定义数组和变量:#include<stdio.h>main(){char a[100], b[100], c[200], *p;int i = 0, j = 0, k = 0;。3、输入字符串: printf("please input string a:\\n");scanf("%s", a); \/*输入字符串1放入a数组...

相似回答