1.加法,異或實現 #include<stdio.h> int main() { int a[10],b[10]; int i=0; printf("請輸入數組a:\n"); for(i=0;i<sizeof(a)/sizeof(a[0]);i++) scanf("%d",&a[i]); printf("請輸入數組b: \n"); for(i=0;i<sizeof(a)/sizeof(a[0]);i++) scanf("%d",&b[i]); for(i=0;i<sizeof(a)/sizeof(a[0]);i++) { a[i]=a[i] + b[i]; b[i]=a[i] - b[i]; a[i]=a[i] - b[i]; } printf("now,a[10]= "); for(i=0;i<sizeof(a)/sizeof(a[0]);i++) printf("%d ",a[i]); printf("\nnow,b[10]= "); for(i=0;i<sizeof(a)/sizeof(a[0]);i++) printf("%d ",b[i]); printf("\n"); return 0; } 實現還可使用異或「 ^ 」: a[i]=a[i] ^ b[i]; b[i]=a[i] ^ b[i]; a[i]=a[i] ^ b[i]; 2.使用strcpy函數實現: #include<stdio.h> int main() { char str1[20]; char str2[20]; char str3[20]; puts("請輸入str1的字符:\n"); gets(str1); puts("請輸入str2的字符:\n"); gets(str2); strcpy(str3,str1); strcpy(str1,str2); strcpy(str2,str3); puts("互換後的str1數組爲:\n"); puts(str1); printf("\n"); puts("互換後的str2數組爲:\n"); puts(str2); printf("\n"); return 0; } 3. 引入第三個數組進行數組各元素的交換 #include<stdio.h> int main() { int i,j,k; int A[10]; int B[10]; int C[10]; printf("請輸入A數組的內容:\n"); for(i=0;i<10;i++) {scanf("%d",&A[i]);} printf("請輸入B數組的內容:\n"); for(j=0;j<10;j++) { scanf("%d",&B[j]);} for(k=0;k<10;k++) // 引入變量,進行交換 { C[k]=A[k]; } for(i=0;i<10;i++) { A[i]=B[i]; } for(j=0;j<10;j++) { B[j]=C[j]; } printf("互換後的A數組爲:\n"); for(i=0;i<10;i++) {printf("%d ",A[i]);} printf("\n"); printf("互換後的B數組爲:\n"); for(j=0;j<10;j++) { printf("%d ",B[j]);} printf("\n"); return 0; } 4.調用指針函數進行元素的交換 #include<stdio.h> int main() { int i,j,k; int A[10]; int B[10]; int C[10]; printf("請輸入A數組的內容:\n"); for(i=0;i<10;i++) {scanf("%d",&A[i]);} printf("請輸入B數組的內容:\n"); for(j=0;j<10;j++) { scanf("%d",&B[j]);} for(k=0;k<10;k++) { swap(&A[k],&B[k]); } printf("互換後的A數組爲:\n"); for(i=0;i<10;i++) {printf("%d ",A[i]);} printf("\n"); printf("互換後的B數組爲:\n"); for(j=0;j<10;j++) { printf("%d ",B[j]);} printf("\n"); return 0; } int swap(int *a,int* b) { int t; t=*a; *a=*b; *b=t; }