C++实现1.交换两个整形变量的内容.2.不创建临时变量的条件下,交换两个数的内容.3.求是个整数中的最大值.4.将三个数按从大到小输出.5.求两个数的最大公约数.

/////////////////////////////////////////////////////////////////////////
//给定两个整型变量的值,并交换他们的值
int main(){
int a = 10;
int b = 20;
int temp = a;
//创建一个临时变量,来做交换值的中间媒介
a = b;
b = temp;
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
//////////////////////////////////////////////////////////////////////
//不允许创建临时变量,交换两个值
//方法一( a + b 有可能溢出)
int main(){
int a = 10;
int b = 20;
a = a + b; //30 20
b = a - b; //30 10
a = a - b; //20 10
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
//方法二 按二进制位异或的方法(此方法不会溢出)
//两个二进制位,相同为0,相异为1(因为按位异或不需要进位)
//01010 ->a
//10100 ->b
//11110 ->a
//01010 ->b
//10100 ->a
int main(){
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("%d,%d\n", a, b);
system(“pause”);
return 0;
}
/////////////////////////////////////////////////////////////////
//求十个整数中的最大值
int main(){
int arr[10] = { 10, 20, 15, 18, 19, -1, 7, 4, 3, 0 };
int max = arr[0];
int i = 1;
while (i<10){
if (max < arr[i]){
max = arr[i];
}
i += 1;
}
printf(“max=%d\n”, max);
system(“pause”);
return 0;
}
////////////////////////////////////////////////////////////////
//三个数从大到小输出
int main(){
printf(“请输入三个数字:”);
int arr[3] = { 0 };
scanf("%d %d %d", &arr[0], &arr[1], &arr[2]);
int max;
int min;
if (arr[0] > arr[1]){
max = arr[0];
min = arr[1];
}
else {
max = arr[1];
min = arr[0];
}
if (arr[2] > max){
printf("%d %d %d\n", arr[2], max, min);
}
else if (arr[2] > min){
printf("%d %d %d\n", max, arr[2], min);
}
else{
printf("%d %d %d\n", max, min, arr[2]);
}
system(“pause”);
return 0;
}
/////////////////////////////////////////////////////////////////////////////////
//求两个数的最大公约数
int MaxFactor(int x, int y){
//基于试探的方法,从1开始,一直到x,y两个值中小的那个
int i = 1;
//&&逻辑与得到真和假的值
int max = 1;
while (i <= x && i <= y){
//这个循环的条件:i必须同时满足小于等于x和y
if (x % i == 0 && y % i == 0){
//这个条件成立,说明i是x和y的公约数
max = i;
}
i++;
}
return max;
}
int main(){
int max = MaxFactor(100, 120);
printf("%d\n", max);
system(“pause”);
return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44648896/article/details/88297318