个人-基础常见五种比较数的函数

#C常见的几种比较
我用的VS2013,头文件与源文件分开,在此只贴出函数。

  1. 给定两个整形变量的值,将两个值的内容进行交换。
void compare(){
	int a = 10;
	int b = 20;
	int tmp = 0;
	tmp = a;
	a = b;
	b = tmp;
	printf("a=%d,b=%d", a, b);
}
  1. 不允许创建临时变量,交换两个数的内容
void compare2(){
	int a = 20;
	int b = 10;
	a = a - b;
	b = a + b;
	a = b - a;
	printf("a=%d,b=%d", a, b);
}

3.求10 个整数中最大值。

void compare3(){
	int a[10] = { 12, 23, 51, 5, 24, 35, 62, 25, 19, 60 };
	int i;
	int max = a[0];
	for (i = 0; i < 11; i++){
		if (max < a[i]){
			max = a[i];		
		}
	}
	printf("最大数为%d", max);
}

4.将三个数按从大到小输出。

void compare4(int a,int b,int c){
	int tmp = 0;
	if (a > b){
		tmp = a;
		a = b;
		b = tmp;
	}
	if (b > c){
		tmp = b;
		b = c;
		c = tmp;
	}
	if (a > b){
		tmp = a;
		a = b;
		b = tmp;
	}
	printf("这三个数的排序为:%d,%d,%d", a, b, c);
}

在这里特别说一下,求最大公约数这用的是相减法,在while语句中,有个特别注意的。a-b的数需要考虑大小的问题,因为一直用大数减小数直到为0.
5.求两个数的最大公约数。

void compare5(int a,int b){
	int tmp = 0;
	if (a < b){
		tmp = a;
		a = b;
		b = tmp;
	}
	while (a-b!=0){
		tmp = a - b;
		a = b;
		b = tmp;
			if (a < b){
			tmp = a;
			a = b;
			b = tmp;
		}
	}
	printf("最大公约数为:%d", b);
}

猜你喜欢

转载自blog.csdn.net/skrskr66/article/details/83511743