PTA-2017实验2.2 计算分段函数

7-1 计算摄氏温度(10 分)
给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。

输入格式:
输入在一行中给出一个华氏温度。

输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。

输入样例:

150

输出样例:

Celsius = 65

源码

    int Celsius,f;
    scanf("%d",&f);
    Celsius=5*(f-32)/9;
    printf("Celsius = %d",Celsius);
    return 0;

7-2 计算分段函数[1](10 分)
本题目要求计算下列分段函数f(x)的值:

公式
公式

输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:

10

输出样例1:

f(10.0) = 0.1

输入样例2:

0

输出样例2:

f(0.0) = 0.0

源码

    double x,y;
    scanf("%lf",&x);
    if(x!=0){
           y=1/x;
    }else{
        y=0;
    }
    printf("f(%.1lf) = %.1lf",x,y);
    return 0;

7-3 计算存款利息(10 分)
本题目要求计算存款利息,计算公式为interest=money×(1+rate)​year​​ −money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:
输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。

输出格式:
在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输入样例:

1000 3 0.025

输出样例:

interest = 76.89

源码

#include 
#include 
//别忘了加math头文件
int main() {
     double year,interest,rate,money;
     scanf("%lf %lf %lf",&money,&year,&rate);
     interest = money * pow(1 + rate,year) - money;
     printf("interest = %.2f",interest);
     return 0;
}

7-4 计算分段函数[2](10 分)
本题目要求计算下列分段函数f(x)的值:

f2-11
f2-11

注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
输入样例1:

10

输出样例1:

f(10.00) = 3.16

输入样例2:

-0.5

输出样例2:

f(-0.50) = -2.75

源码

#include 
#include 
int main() {
    double x,y;
    scanf("%lf",&x);
    if(x>=0){
           y=pow(x,0.5);
    }else{
        y=pow(x+1,2)+2*x+1/x;
    }
     printf("f(%.2lf) = %.2lf",x,y);
     return 0;
}

7-5 求整数均值(10 分)
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。

输入格式:
输入在一行中给出4个整数,其间以空格分隔。

输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。

输入样例:

1 2 3 4

输出样例:

Sum = 10; Average = 2.5

源码

    int num1,num2,num3,num4,sum;
    double Average;
    scanf("%d %d %d %d",&num1,&num2,&num3,&num4);
    sum=num1+num2+num3+num4;
    Average=sum*1.0/4;
    printf("Sum = %d; Average = %.1lf",sum,Average);
    return 0;

7-6 阶梯电价(15 分)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。

输入格式:
输入在一行中给出某用户的月用电量(单位:千瓦时)。

输出格式:
在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。

输入样例1:

10

输出样例1:

cost = 5.30

输入样例2:

 100

输出样例2:

cost = 55.50

源码

    int e;
    double m;
    scanf("%d",&e);
    if(e<0){
      printf("Invalid Value!");
    }
    else if(e<=50){
        m=0.53*e;
        printf("cost = %.2lf",m);
    }else{
        m=0.53*50+0.58*(e-50);
        printf("cost = %.2lf",m);
    }
    return 0;

7-7 计算火车运行时间(15 分)
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。

输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。

输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。

输入样例:

1201 1530

输出样例:*

03:29

源码

int main(void) {
    int num1,num2,hh,mm;
        scanf("%d %d",&num1,&num2);
        hh=num2/100-num1/100;
        mm=num2%100-num1%100;
        if(mm<0){
            mm+=60;
            hh-=1;
        }
        printf("%02d:%02d",hh,mm);
    return 0;
}

%f与%lf的区别

%f读取8个字节,%lf也读取8个字节。
%f 浮点数(包括float和double)
%lf为long double类型

你可能感兴趣的:(PTA-2017实验2.2 计算分段函数)