20 編寫函數:計算分段函數


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;
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM