欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-22 21:34:58
...

#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);
}
相关标签: 基础C