當前位置:首頁 » 編程語言 » 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));