300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 四种方法实现数组交换

四种方法实现数组交换

时间:2021-02-08 07:12:26

相关推荐

四种方法实现数组交换

方法一://该方法主要用逻辑运算将数组对应的每个元素进行交换,然后用for循环将整个数组元素进行交换#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++){ A[k]=A[k]^B[k];//逻辑运算交换各元素的值 ,"^"也可改成"+,_"同样可以实现交换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数组为:\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;}方法二: //这种方法是利用指针函数进行交换各元素的值,#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;}方法三 // 引入第三个数组进行数组各元素的交换#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;}方法四//引入第三变量,在利用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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。