首页

文章

C语言合并两个数组

发布网友 发布时间:2022-04-19 09:47

我来回答

4个回答

热心网友 时间:2023-09-15 06:27

不知道楼主是要普通的合并然后排序呢还是高级算法里的归并排序。后者的话建议看看百度百科http://ke.baidu.com/view/90797.htm
前者。
#include<stdio.h>
int
main()
{
int
a[100],b[100];
int
anum,bnum,i,j,k,temp;
printf("请输入数组a的元素个数:");
scanf("%d",&anum);
for(i=0;i<anum;i++)//数组a输入
scanf("%d",&a[i]);
printf("请输入数组b的元素个数:");
scanf("%d",&bnum);
for(i=0;i<bnum;i++)//数组b输入
scanf("%d",&b[i]);
k=anum+bnum;//计算数据总个数
for(i=0;i<bnum;i++)//b数组合入a数组
a[anum+i]=b[i];
for(i=0;i<k-1;i++)
//选择排序
for(j=i+1;j<k;j++)
if(a[i]<a[j])
{temp=a[i];
a[i]=a[j];
a[j]=temp;
}
for(i=0;i<k;i++)//输出最终数组
printf("%8d",a[i]);
return
0;
}

热心网友 时间:2023-09-15 06:27

#include <stdio.h>

int main()
{
int a[5]={3,4,5,6,7};
int b[4]={11,22,33,44};
int c[9]={0};
int i=0,j;
for (;i<sizeof(a)/sizeof(int);i++)
c[i]=a[i];
j=i;
for (j=0;j<sizeof(b)/sizeof(int);j++,i++)
c[i]=b[j];

return 0;
}

#include <stdio.h>

int main()
{
int a[5]={3,4,5,6,7};
int b[4]={11,22,33,44};
int c[9]={0};
int i=0,j;
for (;i<5;i++)
c[i]=a[i];
j=i;
for (j=0;j<4;j++,i++)
c[i]=b[j];

return 0;
}

或者用memcpy,更简单

热心网友 时间:2023-09-15 06:28

#include<stdio.h>
void main()
{
int a[5]={3,4,5,6,7};
int b[4]={11,22,33,44};
int c[9]={0};
int i,j;
for (i=0;i<5;i++)
c[i]=a[i];
for (j=0;j<4;j++,i++)
c[i]=b[j];
for(i=0;i<9;i++)
printf("%d,",c[i]);
printf("\n");
}

楼上的答案中间的“j=i”是多余的。

热心网友 时间:2023-09-15 06:28

合并数组的操作,具体算法依赖于合并的规则。
其通用流程如下:
1
建立一个足够容纳两个数组所有元素的目标数组。如果规则规定将一个数组合并到另一个之中,那么需要保证目标数组有可以容纳两个数组的空间,否则会出现越界。
2
遍历其中一个数组,并赋值到目标数组中。如果是一个数组合并到另一个,那么此步可以省略;
3
遍历另一个数组,按照规则插入到目标数组中。
在不同规则下,合并算法会有差异,如将长为lb的b数组附加到长为la的a数组结尾的操作,可以写作
int i;
for(i = 0; i < lb; i ++)
a[la+i]=b[i];而将长度均为l的数组a,b,交替合并到c中,可以写作
int i;
for(i = 0; i < l; i ++)
{
c[i*2] = a[i];
c[i*2+1] = b[i];
}不管是何种方式,合并的本质就是,把a和b的每个元素,赋值到目标数组的对应位置上即可。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 C语言怎么合并两个字符串? 怎么把两个不同的c程序合并成一个,实现不同的功能 宇宙的秘密 台式电脑开机一小时耗多少度电啊? 404 Not Found 日法德加有没有高铁出轨,爆炸,酿成严重伤亡的例子 404 Not Found 秦智伟的成绩 锐捷如何划分VLAN 锐捷交换机默认密码是多少 404 Not Found 中国银行的代码是什么? 高温合金有哪些牌号? 日立电梯图纸上的图号都代表什么 UC浏览器怎么用手机流量下载不了视频,显示网络错误 我从QQ 浏览器上面下载视频会花费自己的流量吗? 怀民亦未寝什么梗 王思聪欠款1亿5千万,从微博彻底消失,人生的丰年与荒年,你怎么看? 微博是怎么产生的 新浪微博为什么这三天把评论系统都关了 excel里怎样吧AB数据批量合并到C? C语言文件合并 C语言程序如何合并? 如何将硬盘C,D分区合并 c语言合并两个文件 腾讯大王卡在QQ浏览器里下载视频要不要流量 怎么样合并C、D盘 c语言,怎样合并数组 c语言怎么合并两个数组 怎样合并C和D盘的分区? Win8如果想要合并C和D盘会怎么样,该怎么弄? 如何将两个C语言程序合并成为一个可选择性的程序 win10怎么把多余分区合并给C 怎样把电脑D盘合并到C系统盘 怎样合并C和D盘_ 奔驰s65电瓶充电电压17.5v正常吗? 西门子S65手机充电的问题 syndex蓝牙耳机s65充电时灯亮吗? 404 Not Found S65评测-请各路高手评测
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com