四种方法实现数组交换
生活随笔
收集整理的這篇文章主要介紹了
四种方法实现数组交换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
方法一:
//該方法主要用邏輯運(yùn)算將數(shù)組對應(yīng)的每個(gè)元素進(jìn)行交換,然后用for循環(huán)將整個(gè)數(shù)組元素進(jìn)行交換#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("請輸入A數(shù)組的內(nèi)容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("請輸入B數(shù)組的內(nèi)容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++){ A[k]=A[k]^B[k]; //邏輯運(yùn)算交換各元素的值 ,"^"也可改成"+,_"同樣可以實(shí)現(xiàn)交換B[k]=A[k]^B[k]; //例如: A[k]=A[k]+B[k];A[k]=A[k]^B[k]; B[k]=A[k]-B[k]; } A[k]=A[k]-B[k];printf("互換后的A數(shù)組為:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互換后的B數(shù)組為:\n");for(j=0;j<10;j++){ printf("%d ",B[j]);}printf("\n");return 0;}方法二: //這種方法是利用指針函數(shù)進(jìn)行交換各元素的值,#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("請輸入A數(shù)組的內(nèi)容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("請輸入B數(shù)組的內(nèi)容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++){ swap(&A[k],&B[k]); // 調(diào)用指針函數(shù)進(jìn)行元素的交換}printf("互換后的A數(shù)組為:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互換后的B數(shù)組為:\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;}方法三 // 引入第三個(gè)數(shù)組進(jìn)行數(shù)組各元素的交換#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("請輸入A數(shù)組的內(nèi)容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("請輸入B數(shù)組的內(nèi)容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++) // 引入變量,進(jìn)行交換{ 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數(shù)組為:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互換后的B數(shù)組為:\n");for(j=0;j<10;j++){ printf("%d ",B[j]);}printf("\n");return 0;}方法四 //引入第三變量,在利用strcpy函數(shù)進(jìn)行交換各數(shù)組元素#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數(shù)組為:\n");puts(str1);printf("\n");puts("互換后的str2數(shù)組為:\n");puts(str2);printf("\n");return 0;}
總結(jié)
以上是生活随笔為你收集整理的四种方法实现数组交换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈利波特魔法觉醒草药探险基本规则是什么
- 下一篇: C语言的细小知识点整理