两数求最大值 和 交换两个数字

两数求最大值:

#include<stdio.h>
int main() { //普通比较
	int num1 = 0;
	int num2 = 0;
	printf("请输入两个数的大小:\n");
	scanf("%d %d", &num1, &num2);
	if (num1 > num2)
		printf("两个数中最大的数是%d\n", num1);
	else
		printf("两个数中最大的数是%d\n", num2);
	return 0;
}
#include<stdio.h>
int Compare(int i, int j) {
	if (i > j) return i;
	else return j;
}
int main() {//调用比较函数比较
	int num1 = 1;
	int num2 = 0;
	printf("请输入两个数的大小:\n");
	scanf("%d %d", &num1, &num2);
	int max = Compare(num1, num2);
	printf("两个数中最大的数是%d\n", max);
	return 0;
}

交换两个数字:

#include<stdio.h>
int main() {
	int i = 5;
	int j = 7;
	int temp; //存在第三变量,算法效率最高
	temp = i;
	i = j;
	j = temp;
	printf("i=%d  j=%d\n",i,j);
	return 0;
}

不使用第三变量,交换两个数字(阿里面试题)

#include<stdio.h>
int main() {
	int i = 5;
	int j = 7;
	i = i+j;  //缺点:当i和j无限大时,她两和的值就会溢出
	j = i - j;
	i = i - j;
	printf("i=%d  j=%d\n", i, j);
	return 0;
}
#include<stdio.h>
int main() {
	int i = 5;
	int j = 7;
    i = i ^ j;  //异或的方式,使用数字的进位
	j = i ^ j;
	i = i ^ j;
	printf("i=%d  j=%d\n", i, j);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45658339/article/details/107928263
今日推荐