c语言数组编程题目?
【问题描述】编写一子函数实现输入两个有序数组,合并成新的有序数组。【输入形式】主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素【输出形式】输出合并后有序数...
【问题描述】
编写一子函数实现输入两个有序数组,合并成新的有序数组。
【输入形式】
主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素
【输出形式】
输出合并后有序数组
【样例输入】
0 2 4 6 7 9
5 7 8 9
【样例输出】
0 2 4 5 6 7 7 8 9 9
【样例说明】
直接用循环输入两个数组,不用考虑换行。 展开
编写一子函数实现输入两个有序数组,合并成新的有序数组。
【输入形式】
主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素
【输出形式】
输出合并后有序数组
【样例输入】
0 2 4 6 7 9
5 7 8 9
【样例输出】
0 2 4 5 6 7 7 8 9 9
【样例说明】
直接用循环输入两个数组,不用考虑换行。 展开
1个回答
展开全部
#include<stdio.h>
void inputa(int a[],int n){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
}
void merge(int a[],int b[],int n,int m,int c[]){
int i=0,j=0,k=0;
while(i<n&&j<m ){
if(a[i]<b[j])c[k++]=a[i++];
else c[k++]=b[j++];
}
while(i<n){
c[k++]=a[i++];
}
while(j<m ){
c[k++]=b[j++];
}
}
void outa(int a[],int n){
for(int i=0;i<n;i++)
printf("%d ",a[i]);
}
int main(){
int n=6,m=4;
int a[6],b[4],c[10];
inputa(a,n);
inputa(b,m);
merge(a,b,n,m,c) ;
outa(c,n+m);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询