① 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));