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;
}

调试结果如下:

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值