两数求最大值:
#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;
}