您的位置:首页 > 其它

关于两个整数的交换的几种写法

2015-11-29 13:51 387 查看
创建一个临时整型变量实现两个整型数的交换:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){int num1 = 0;int num2 = 0;int swap = 0;scanf("%d %d", &num1, &num2);swap = num1;num1 = num2;num2 = swap;printf("num1=%d,num2=%d", num1, num2);system("pause");return 0;}
通过函数的方法用指针的方法实现两个整型数的交换:
#include<stdio.h>void swap(int *pa, int *pb){int ch;ch = *pa;*pa = *pb;*pb = ch;}int main(){int *num1;int *num2;scanf("%d %d", &num1, &num2);swap(&num1, &num2);printf("num1=%d,num2=%d", num1, num2);system("pause");return 0;}
不创建临时变量,通过两个整型数的异或运算,可实现交换:#include<stdio.h>int main(){int num1 = 0;int num2 = 0;scanf("%d %d", &num1, &num2);num1 = num1^num2;num2 = num1^num2;num1 = num1^num2;printf("num1=%d,num2=%d\n", num1, num2);system("pause");return 0;}
不创建临时变量,通过两个整型数的加减运算,可实现交换:
#include<stdio.h>int main(){int num1 = 0;int num2 = 0;scanf("%d %d", &num1, &num2);num1 = num1+num2;num2 = num1-num2;num1 = num1-num2;printf("num1=%d,num2=%d\n", num1, num2);system("pause");return 0;}
不创建临时变量,通过两个整型数的乘除运算,可实现交换:
#include<stdio.h>int main(){int num1 = 0;int num2 = 0;scanf("%d %d", &num1, &num2);num1 = num1*num2;num2 = num1/num2;num1 = num1/num2;printf("num1=%d,num2=%d\n", num1, num2);system("pause");return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: