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

c语言交换两个数组中的内容

发布时间: 2022-05-23 06:07:12

c语言中实现两个一维数组间元素的交换

#include<stdio.h>
#define N 5
void main()
{
int a[N],b[N],c;
int i;
printf("请输入a数组元素:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("请输入b数组元素:\n");
for(i=0;i<N;i++)
scanf("%d",&b[i]);
printf("交换后的数组元素为:\n");
for(i=0;i<N;i++)
{
c=a[i];
a[i]=b[i];
b[i]=c;
}
for(i=0;i<N;i++)
printf("%3d",a[i]);
printf("\n");
for(i=0;i<N;i++)
printf("%3d",b[i]);
printf("\n");
}
//不懂得可以继续问

② c语言程序设计中将两个数组内的元素交换,下面这个程序有什么错误

你是准备怎么输入的,先输入a的5个数,然后输入b的5个数码??
如果是,按照下面的修改:
#include<stdio.h>
void main()
{
int a[5],b[5];
int k,i;
for(i=0;i<5;i++) //输入a的
scanf("%d",&a[i]);
for(i=0;i<5;i++) //输入b的

scanf("%d",&b[i]);
for(i=0;i<5;i++)
{
k=a[i];
a[i]=b[i];
b[i]=k;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
for(i=0;i<5;i++)
printf("%d",b[i]);
}

③ 在c语言二维数组中怎样交换两个数组元素中的字符串,请写代码.

int strcpy(char *s1,const char *s2);
开辟一个缓冲区,比如
char buff[100];//假设你的字符串不超过这么多

而你的而为数组为
char **argv;
其中argv[0] = "this is the first string";
argv[1] = "this is the seconde string";

你只须调用如下
strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);

一下是完整代码,并测试过
#include <stdio.h>
#include <string.h>

char argv[2][100]={ "This is the first string","This is the second string"};
// 存储字符串的二维数组,每个字符串最长为99个字节
char buff[100];
//缓冲区
int main()
{
printf("转换前:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);

strcpy(buff,argv[0]);
strcpy(argv[0],argv[1]);
strcpy(argv[1],buff);

printf("转换后:\n");
printf("argv[0] = %s\n",argv[0]);
printf("argv[1] = %s\n",argv[1]);

return 0;
}

④ C语言中实现数组间数据交换的方法有哪些谢谢!

一般都用引入第三个变量做为中间参数,如a,b的交换引入变量c,a=c;b=a;b=c;

⑤ 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语言数组元素交换问题

数组交换的swap函数中

voidSWAP(double*a,double*b)//用于交换数组的元素
{
doubletemp;
temp=*a;
*a=*b;
*b=temp;
}
你传进去的是double*a
但你定义的是doubletemp
类型都不一样怎么赋值!!

⑦ c语言中交换两个数据,为什么数组是地址传递捏

如果是不是传地址,那会在函数中重新定义两个变量分别等于两个参数的值,对新定义的两个变量进行操作。和原来的两个变量无关。
如果是传地址,那就是把两个数的地址传到函数中,对两个地址中的内容进行操作。所以会改变两个数的值。

一般如果要通过函数来改变参数的值,C都是要用传地址的,C++还可以用引用。比如scanf()函数,因为要把输入的值传递给参数,所以要加取地址符号&.而printf就不用

⑧ c语言怎样交换两个数组 用swap函数

void swap_array(int *pa,int *pb);

main(){
int x[]={0,1,2,3,4};
int y[]={5,6,7,8,9};
swap_array(x,y);
int i;
for(i=0;i<5;i++)
printf("%d",x[i]);
printf("\r\n",x[i]);
for(i=0;i<5;i++)
printf("%d",y[i]);
scanf("%d",&i);
}
void swap_array(int *pa,int *pb){
int n;
n= sizeof(pa);
int c;
int i;
for(i=0;i<=n;i++){
c=*pa;
*pa=*pb;
*pb=c;
++pa;
++pb;}
}

⑨ C语言中数组元素互换的问题

当index为0时,数组中下标为0的和下标为4-0的元素交换,也就是第一个和最后一个交换,(1,5)交换
当index为1时,数组中下标为1的和下标为4-1的元素交换,也就是第二个和倒数第二个交换,(2,4)交换
因为此数组元素的个数为奇数个,所以,最中间那个没有必要交换,所以3原地不动
最后交换后的元素顺序为54321

⑩ c语言中有没有交换两个数组中内容的函数

使用memcpy直接将数组中的数据进行交换。

inta[100],b[100];
intt[100];
memcpy(t,a,sizeof(a));
memcpy(a,b,sizeof(b));
memcpy(b,t,sizeof(t));