Bootstrap

C语言利用函数实现求a,b,c三个数的最小值。函数自行设计并测试

求最小值的方法有很多,下面给出了三种方法:

法一: 在函数中输入 a , b , c 三个数,然后判断 a 是否同时大于 b 和 c ,b 、c 以此类推。程序如下:(这种方法是最简单直观的)

#include<stdio.h>
int Ismin1(int a, int b, int c)
{
	if (a <= b && a <= c)
	{
		return a;
	}
	if (b <= a && b <= c)
	{
		return b;
	}
	if (c <= a && c <= b)
	{
		return c;
	}
}
int main()
{
	printf("%d\n", Ismin1(1, 2, 3));   //结果为:1
	printf("%d\n", Ismin1(7, 4, 8));   //结果为:4
	printf("%d\n", Ismin1(7, 8, 5));   //结果为:5
}

调试结果如下:

 法二: 在函数中输入 a , b , c 三个数,然后判断,若 a 的值大于 b 的值则把 a 的值赋给 b, b 的值赋给 a (此处需要借助中间变量 tmp ) 这是为了保证每次都让 a 成为最小的值;接着再把最小值的 a 与 c 作比较,若 a 的值大于 c 的值则同上。这样下来 a 就成了最小的值。

#include<stdio.h>
int IsMin(int a, int b, int c)
{
	int tmp = 0;
	if(a>=b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}  //这一步执行完之后,a就是当前的最小值。
	if (a >= c) //再判断当前最小值a与c的关系,若c小则把c的值给a
	{
		tmp = a;
		a = c;
		c = tmp;
	}
	return a;
}
int main()
{
	printf("%d\n", IsMin(5, 7, 4));   //结果为:4
	printf("%d\n", IsMin(1, 2, 4));   //结果为:1
    printf("%d\n", IsMin(8, 2, 4));   //结果为:2
}

调试结果如下:

 法三:该方法与法二类似,但比二的程序简单。

#include<stdio.h>
int main()
{
	int a, b, c, tmp;
    printf("请输入三个数:\n");
	scanf_s("%d%d%d", &a, &b, &c);
	if (a < b)
	{
		tmp = a;
	}
	else
	{
		tmp = b;
	}
	if (tmp < c)
	{
		printf("%d\n",tmp);
	}
	else
	{
		printf("%d\n", c);
	}
	return 0;
}

调试结果如下:

;