当lcl做物理实验的时候,她往往要按照实验书上一些跟天书似的公式来对大量数据做很多冗杂的处理,这让她很头疼。
这一次lcl再次拿到(or 编造?)了大量的数据,以及一张公式表和需要使用公式的对应编号,时间已经很紧了,lcl需要在十二点之前完成这份实验报告,但她现在困得无法继续了,你能帮她完成这些数据处理么?
公式表如下:
1。e^x //即e的x次方
2。log(x) //以e为底求x的对数
3。sqrt(x) //x的开平方
4。|x| //x的绝对值
5。MAX(x,y) //求x与y中的最大值
6。AVERAGE(x,y,z) //求x,y,z的算术平均数
注意:
公式1~4 需使用标准数学库函数实现;
公式5、6需自己按要求编写相应函数实现,按要求返回相应值。
- 输入
-
输入包括T组数据;
第一行:包括一个正整数T(0<T<=200),表示接下来要读入T组数据。
第2~2*T+1行:
对于每组数据,第一行包括一个整数n,表示这组数据所需要使用的公式编号;第二行包括该公式所需要的未知数,未知数均为实数,两两之间以空格隔开。保证数据合法。
- 输出
-
对于每组数据输出一行:格式为“所调用公式 = 所得答案”,详见样例输出。所得答案保留两位小数。所调用公式严格按照公式表输出。
- 样例输入
3
1
6.23300
2
3.46700
3
1.21600
样例输出
e^x = 509.28
log(x) = 1.24sqrt(x) = 1.10
简单的计算而已
#include <stdio.h> #include <math.h> int main() { int number,t; double answer; double x,y,z; double e=2.718281828; int op; scanf("%d",&number); for(t=1;t<=number;t++) { scanf("%d",&op); if(op==1) { scanf("%lf",&x); answer=pow(e,x); printf("e^x = %.2lf\n",answer); } else if(op==2) { scanf("%lf",&x); answer=log(x); printf("log(x) = %.2lf\n",answer); } else if(op==3) { scanf("%lf",&x); answer=sqrt(x); printf("sqrt(x) = %.2lf\n",answer); } else if(op==4) { scanf("%lf",&x); answer=fabs(x); printf("|x| = %.2lf\n",answer); } else if(op==5) { scanf("%lf %lf",&x,&y); if(x>y) { answer=x; printf("MAX(x,y) = %.2lf\n",answer); } else { answer=y; printf("MAX(x,y) = %.2lf\n",answer); } } else { scanf("%lf %lf %lf",&x,&y,&z); answer=(x+y+z)/3; printf("AVERAGE(x,y,z) = %.2lf\n",answer); } } return 0; }