#include<stdio.h>intmain(){int a =10, b =20;int c;
c = a;
a = b;
b = c;printf("a=%d\nb=%d\n", a, b);return(0);}
二,不允许创建临时变量,交换两个数的内容
#include<stdio.h>intmain(){int a =10, b =20;
b = a ^ b;
a = b ^ a;
b = a ^ b;printf("a=%d\nb=%d\n", a, b);return0;}
三,将三个数按从小到大输出
#include<stdio.h>intmain(){int a[3];int b, i, j;printf("请输入3个整数:\n");for(i =0; i <=2; i++)scanf("%d",&a[i]);for(i =0; i <2; i++){for(j =0; j <2- i; j++)if(a[j]> a[j +1]){
b = a[j];
a[j]= a[j +1];
a[j +1]= b;}}for(i =0; i <3; i++)printf("从小到大依次为:%d\n", a[i]);return0;}
四,求十个整数中的最大值
#include<stdio.h>intmain(){int a[10];int b, i, j;printf("输入十个数字:\n");for(i =0; i <=9; i++)scanf("%d",&a[i]);for(i =0; i <9; i++){for(j =0; j<9- i; j++)if(a[j]> a[j +1]){
b = a[j];
a[j]= a[j +1];
a[j +1]= b;}}printf("最大的数为%d\n", a[9]);return0;}
五,求两个数的最大公约数(辗转相除法)
#include<stdio.h>intmain(){int a, b;int temp;printf("请输入两个数:\n");scanf("%d,%d",&a,&b);if(a < b){
b = a ^ b;
a = b ^ a;
b = a ^ b;}while(a % b !=0){
temp = a % b;
a = b;
b = temp;}printf("最大公约数为:%d\n",b);return0;}