HUST程序设计竞赛(新生赛)-同步赛-I-小乐乐计算函数
小乐乐计算函数
https://ac.nowcoder.com/acm/contest/1877/I
题目描述
小乐乐学会了自定义函数,BoBo老师给他出了个问题,根据以下公式计算m的值。
其中 max3函数为计算三个数的最大值,如: max3(1, 2, 3) 返回结果为3。
输入描述:
一行,输入三个整数,用空格隔开,分别表示a, b, c。
输出描述:
一行,一个浮点数,小数点保留2位,为计算后m的值。
根据题意
可以定义一个_max函数专门求出三个数中的最大值
其他的可以直接套公式来求解
下面是C++の代码
#include <cstdio> #include <iostream> #include <algorithm> using namespace std; int _max(int a1, int a2, int a3) { int max = a1; if (max < a2) max = a2; if (max < a3) max = a3; return max; }//三个数中求最大值 int read() { int x=0; bool f = false; char ch; do ch=getchar(),f|=(ch=='-'); while(ch<48||ch>57); while(ch>47&&ch<58) x=(x<<1)+(x<<3)+(ch^48),ch=getchar(); return f?-x:x; }//快读 int main() { int a = read(), b = read(), c = read(); int a1 = _max(a+b, b, c), b1 = _max(a, b + c, c), c1 =_max(a, b, b+c);//公式中的三个部分 double m = (double)(a1 *1.0/ (b1*1.0 + c1*1.0)); //结果 printf("%.2lf", m);//保留两位小数 return 0; }