Description
設有函數y=f(x)定義為:
給定x的值,編程求出y的值並輸出。
-----------------------------------------------------------------------------
編寫函數func()和output(),其原型為:
double func(double x);
功能:計算f(x)並返回。
int output(int n, double x)
功能:按照題意的格式輸出。
函數的調用格式見“Append Code”。
Input
輸入的第一個是測試樣例數N,后跟N個輸入為x的值。
Output
輸出為N行,每行順序與輸入對應的y=f(x)的計算結果,即y的值。輸出時y值保留6位有效數字,且不輸出無意義的0。
每行的格式為:
case i:y=?.
其中i表示測試用例編號(從1開始),?表示計算結果。
Sample Input
4 -3 0.5 2.1 10.08
Sample Output
case 1:y=3.
case 2:y=0.841471.
case 3:y=3.37061.
case 4:y=30.16.
#include <stdio.h> #include<math.h> double func(double x) { double y; if(x<0) y=-x; //此處可以直接返回的return
-x;
else if(0<=x&&x<1) y=sin(2*x); else if(1<x&&x<5) y=sqrt(x*x*x+x); else y=2*x+10; return y; } int output(int n, double x) { printf("case %d:y=%.6lf.\n",n,x); //輸出格式問題,%g不輸出小數點后無意義的0; } int main() { int i, cases; double x; scanf("%d", &cases); for(i = 1; i <= cases; i++) { scanf("%lf", &x); output(i, func(x)); } return 0; }