当前位置:首页 » 编程语言 » c语言的两个数组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言的两个数组

发布时间: 2022-10-29 11:39:47

① 怎样在c语言中实现两个数组的合并

把两个数组分别合到一个数组里面啊.
那个数组的长度为 两个数组的长度的和

② C语言合并两个数组

两个错误,三个地方

#include<stdio.h>
#include<string.h>
void main(){
int a, b,f, g;char c[50], d[50], e[100];
gets(c);
for(a=0;c[a]!=''a++)//原来的是c[a]=!''
{
e[a]=c[a];
}
gets(d);
g=strlen(d);
if(g>5)
{
for(b=0;b<4;b++)//原来的b是1~5
{e[a+b]=d[b];}
}
else{
for(b=0;b<g;b++)//原来的b是1~g
{e[a+b]=d[b];}
}
for(f=0;f<a+b;f++)
printf("%c", e[f]);
}

③ C语言题目 定义两个数组a[n]和b[n](n<=10)

#include <stdio.h>

int isprime(int n)

{ int i;

for(i=2; i*i<=n; i++)

if(n%i==0)return 0;

return n>1;

}

int main()

{ int i,j,n,a[10],b[10];

scanf("%d",&n);

for(i=0;i<n;i++)scanf("%d",&a[i]);

for(i=0;i<n;i++)scanf("%d",&b[i]);

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(isprime(a[i]+b[j]))

printf("%d+%d=%d ",a[i],b[j],a[i]+b[j]);

return 0;

}

④ c语言,连接2个数组的方法

连接两个数组有点问题,for(x=0;x<6;x++) 数组长度怎么确定array.length 不能用6来表示
可以写个方法,将两数组合并成一个数组
也可以用API函数 memory

⑤ c语言中怎样交换两个数组

逐个元素交换即可。

前提是两个数组必须有同样的长度

否则无法交换。

函数如下:

voidswap_array(int*a,int*b,intl)
{
inti,t;
for(i=0;i<l;i++)
{
t=a[i];
a[i]=b[i];
b[i]=t;
}
}

构建好两个等长数组,调用这个函数就可以

a和b是两个数组名, l为数组元素个数,即长度。

⑥ 请问如何使用C语言把两个数组合并在一个数组里

代码文本:

#include "stdio.h"

int input(int *p,int n){

char i,ch;

for(i=0;i<n;i++){

if((ch=getchar())==' ')

break;

else if(ch>='0' && ch<='9')

ungetc(ch,stdin);

scanf("%d",p+i);

}

return i;

}

int main(int argc,char *argv[]){

int a[21],b[10],i,j,k;

printf("Input array a... ");

i=input(a,10);

printf("and input array b... ");

j=input(b,10);

for(k=0;k<j;a[i++]=b[k++]);

for(j=0;j<i;printf("%d ",a[j++]));

putchar(' ');

return 0;

}

⑦ c语言怎么合并两个数组

int main() {
char a[] = "123456";
char b[] = "abcde";
int buflen = strlen(a) + strlen(b);
char *p = (char*)malloc(buflen + 1);
memset(p, 0, buflen);
printf("%d\n", buflen);
strcpy(p, a);
strcat(p, b);
printf("%s\n", p);
free(p);
}
C的数组在创建后不可变得,因此数组合并的思想就是把数组塞到一个足够大的空间里形成新数组。
上面的函数是比较简单的合并方法

⑧ C语言中,如何让两个数组相等

如果是数组长度相等,在初始化数组是直接将两个数组的长度设置为相同即可,如下:

inta[10];
intb[10];

如果是让两个数组的数据一样,可按下面的方法:

#include<stdio.h>
#include<string.h>
intmain()
{
inti;
inta[10];
intb[10];
//初始化数组a
for(i=0;i<10;i++)
{
a[i]=i;
}
//将a数组的数据复制给b
//如果是字符数组,可以直接使用strcpy函数
//如果是其它类型,可使用如下方法
for(i=0;i<10;i++)
{
b[i]=a[i];
}

//输出数组a
printf("a=");
for(i=0;i<10;i++)
{
printf("%d",a[i]);
}
printf(" ");

//输出数组b
printf("b=");
for(i=0;i<10;i++)
{
printf("%d",b[i]);
}
printf(" ");

}
运行结果:
a=0123456789
b=0123456789

⑨ C语言合并两个数组

不知道楼主是要普通的合并然后排序呢还是高级算法里的归并排序。后者的话建议看看网络http://ke..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;
}