2-3计算分段函数

  • Post author:
  • Post category:其他



例2-4

:为鼓励居民节约用水,自来水公司采取用水量按月分段计费的办法,居民应交水费y元与月用水量x吨的函数关系式如下设x≥0.输入用户的月用水量x吨,计算并输出改用户应支付的水费y(元)(保留两位小数)。

y=f(x)=4x/3; x≤15

y=f(x)=2.5x-10.5 x>15

做这个题的时候应该注意留意题目最后的保留两位小数,并结合实际,应该不适用整型常量。

#include <stdio.h>
int main()
{
    double x, y;

    printf("Please enter x (x>=0): \n");
    scanf("%lf", &x);
    if (x <= 15)
    {
        y = 4 * x / 3;
    }
    else
    {
        y = 2.5 * x - 10.5;
    }
    printf("y=f(%f)=%.2f\n", x, y);

    return 0;
}


例2-5

:计算银行存款的本息。输入存款金额money,存期year.和年利率rate,根据下列公式计算存款到期时的本息合计sum(税前),输出是保留两位小数。

#include <stdio.h>
#include <math.h>
int main()
{
    int money, year;
    double rate, sum;

    printf("Enter money:");
    scanf("%d", &money);//输入存款金额
    printf("Enter year:");//输入年
    scanf("%d", &year);
    printf("Enter rate:");//输入利率
    scanf("%lf", &rate);
    sum = money * pow(1 + rate, year);//计算最后钱的总数
    printf("sum=%.2f", sum);

    return 0;
}

**练习2-7:**文字题略、

**练习2-8:**和练习2-4相同,略。


练习2-9

:整数四则运算:输入2个正整数,计算并输出它们的和,差,积,商,试编写相应程序。

#include <stdio.h>
int main()
{
    int add, min, mul, div, x, y;
    scanf("%d%d", &x, &y);

    add = x + y;
    min = x - y;
    mul = x * y;
    div = x / y;
    
    printf("add=%d\nmin=%d\nmul=%d\ndiv=%d\n", add, min, mul, div);

    return 0;
}

**练习2-10:**计算分段函数(判断x是否不为0):输入x,计算并输出下列分段函数f(x)的值(保留1位小数)。试编写相应程序。

y=f(x)=0 x=0;

y=f(x)=1/x x≠0;

注意:保留一位小数。使用double定义。

#include <stdio.h>
int main()
{
    double x,y;
    scanf("%lf", &x);
    if(x==0)
    {
        y=0;
    }
    else
    {
        y=1/x;
    }
    printf("y=f(%f)=%.1f\n",x,y);

    return 0;
}

**练习2-11:**计算分段函数(判断x是否小于0):输入x,计算并输出下列分段函数f(x)的值(保留2位小数)。可包含头文件math.h,并调用sqrt()函数求平方根,调用pow()函数求幂。试编写相关程序。

y=f(x)=根号x x≥0

y=f(x)=(x+1)²+2x+1/x x<0

#include <stdio.h>
#include <math.h>
int main()
{
    double x, y;
    scanf("%lf", &x);
    if (x < 0)//判断是否小于0
    {
        y = pow(x + 1, 2) + 2 * x + 1 / x;//调用pow()函数求幂函数
    }
    else
    {
        y = sqrt(x);//调用sqrt()函数求根号
    }
    printf("y=f(%f)=%.2f\n", x, y);

    return 0;
}



版权声明:本文为qq_45969772原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。