c语言编程:输入三个数abc,输出abc中绝对值的最大数

Python022

c语言编程:输入三个数abc,输出abc中绝对值的最大数,第1张

#include <stdio.h>int main()

{

float a,b,c,max

scanf("%f %f %f",&a,&b,&c)

if(a<0)

a=-a

if(b<0)

b=-b

if(c<0)

c=-c

if(a<b)

max=b

else

max=a

if(max<c)

max=c

printf("%f\n",max)

return 0

}

扩展资料:

求最值的方法

1、判别式求最值

主要适用于可化为关于自变量的二次方程的函数

2、函数单调性

先判定函数在给定区间上的单调性,而后依据单调性求函数的最值。

3、数形结合

主要适用于几何图形较为明确的函数,通过几何模型,寻找函数最值。

这段程序有几个问题,

首先,浮点数无法比较是否等于0,因此不能用float,而应该用整型,即int。

其次,个人感觉没有理解二分法的实质是什么,从程序中没有看到二分法的运用。

我觉得,要看二分法能不能用到这道题,首先得看这个函数是不是单调的。

从图中可以看出,函数单调递增,因此可以使用二分法。

其次,二分法的很容易用递归的形式表示出来,这里建议使用递归的方式写二分程序。

代码如下:

int binary_calculate(int low, int high, int target)

{

int mid = low + (low + high) / 2

if (low > high)

return-11

else{

int res = static_cast<int> (2 * pow(mid, 3.0) - 4 * pow(mid, 2.0) + 3 * mid - 6)

if (res == target)

return mid

else if (res > target)

return binary_calculate(low, mid - 1, target)

else

return binary_calculate(mid + 1, high, target)

}

}

调用函数直接这样就行了:

int res = binary_calculate(-10,10,0)

最后的结果如图: