交换两个元素个数相同的数组的对应元素的值。

//交换两个元素个数相同的数组。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main( )
{
 int i ;
 int arrA[10] = { 0 };
 int arrB[10] = { 0 };
 printf("请任意输10个整数:\n");
 for (i = 0; i < 10; i++)
 {
  scanf("%d", &arrA[i]);
 }
 printf("arrA[10]= ");
 for (i = 0; i < 10; i++)
 {
  printf("%d ", arrA[i]);
 }
 printf("\n请任意输10个整数:\n");
 for (i = 0; i< 10; i++)
 {
  scanf("%d", &arrB[i]);
 }
 printf("arrB[10]=");
 for (i = 0; i< 10; i++)
 {
  printf("%d ", arrB[i]);
 }
 for (i = 0; i < 10; i++)
 {
  arrA[i] = arrA[i] ^ arrB[i];
  arrB[i] = arrA[i] ^ arrB[i];
  arrA[i] = arrA[i] ^ arrB[i];
     }
 printf("\narrA[10]= ");
 for (i = 0; i < 10; i++)
 {
  printf("%d ", arrA[i]);
 }
 printf("\narrB[10]=");
 for (i = 0; i< 10; i++)
 {
  printf("%d ", arrB[i]);
 }
 system("pause");
 return  0;
 }

该程序可分为三大部分。第一部分为:由用户自行输入,来确定数组元素的确定值(即由用户自行来给两个数组赋值);第二部分为:执行数组对应元素数值交换的操作,其中最为简捷的方法为运用异或操作符“^”,根据“相同为零,相异为一”的原则进行交换。第三部分:该部分类似于第一部分,只需进行输出操作即可。(注意:输出操作运用到scanf函数,此时必须在头文件之前加上#deine _CRT_SECURE_NO_WARNINGS.否则会出现错误提示为:scanf不安全)
我本次编译过程中还应注意的地方是:无论是在输出操作、输入操作还是在数组元素进行交换时,都必须在否循环中进行,因为给数组的赋值是从0号元素开始,再依次进行,而在数组元素进行交换时,同样是按照该顺序进行的,所以在这些操作之前必须加上for循环!(最后要想使程序更为简洁,可以将第一部分中两个数组的对应元素值依次同时输入,并同时输出,会是代码简洁些,但在运行时,条理可能会不是很清晰,所以不建议使用)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值