C语言 求最大值和最小值

author:爱太阳的麦芽糖

IDE:VS2019

qq:1192273194

TIME:16/6/2019

PS:如果您有什么问题可以在下方留言哦

步骤:(代码分三个部分阅读,后方有完整的代码)

 

(1):第一个for循环接受十个float类型的数(输入的数字不要超过七位数,我用的是float类型)

#include <stdio.h>
#include <math.h>
main()
{
	printf("请输入十个数\n");
	int i;
	float a[10], max = -3.4 * pow(10,38), min = 3.4 * pow(10,38);
	for (i = 0;i < 10;i++)
	{
		printf("第%d个数:", i + 1);
		scanf_s("%f", &a[i]);
	}
}

(2):第二个for循环中嵌套if判断句来比较大小

for (i = 0;i < 10;i++)
	{
	    if (a[i] > max)
		{
			max = a[i];
		}
		if (min > a[i])
		{
			min = a[i];
		}
	}

第一个if条件句:每次for循环,电脑都会取数组中的一个数和max比较大小,谁较大max就取代谁

第二个if条件句:和第一if条件句原理相同,谁较小min就取代谁

(3):输出最大值和最小值

printf("您输入的十个数中,最大的一个为:%f\n", max);
printf("您输入的十个数中,最小的一个为:%f\n", min);

ps:C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38,这就是为什么max和min的初始值这样设置。

但C中能没有表示次方的运算符,只能调用math库里面的pow()函数,pow(a,b) --> a的b次方

PS:VS2019中用scanf_s代替了scanf,如果你使用的是C++6.0等类似的编辑器,请将下方的scanf_s改为scanf,否则会出现错误。到时候出错了别怪我呀,这一行我可是倾斜加粗用红字了,嘻嘻。

完整的代码如下:

#include <stdio.h>
#include <math.h>
main()
{
	printf("请输入十个数\n");
	int i;
	float a[10], max = -3.4 * pow(10,38), min = 3.4 * pow(10,38);
	for (i = 0;i < 10;i++)
	{
		printf("第%d个数:", i + 1);
		scanf_s("%f", &a[i]);
	}
	for (i = 0;i < 10;i++)
	{
		if (a[i] > max)
		{
			max = a[i];
		}
		if (min > a[i])
		{
			min = a[i];
		}
	}
	printf("您输入的十个数中,最大的一个为:%f\n", max);
	printf("您输入的十个数中,最小的一个为:%f\n", min);
}

代码运行如下 :已经经过我的验证了哦(我可是验证了好几遍)

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值