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