题目
解决代码及点评
这又是个条件函数,但是这个函数无法用switch来解决,因为switch只能用于和某条件相等情况下,而这个函数的范围是无穷的
遇到这种问题,我们还是需要用复合的if语句来解决
#include <stdio.h>
#include <stdlib.h>
void main()
{
float x;
float y;
printf("please input x\n");
scanf_s("%f",&x);
if (x>=0&&x<15) // 如果x在0~15之间,
{
y=x*40/15+10; // 计算函数值
}
else if (x<30) // 如果x在15到30之间,则固定为50,这里x<30条件即表示15到30,因为小于15时,第一个if语句处理掉了,以下类似
{
y=50;
}
else if (x<45)
{
y= 50-(x-30)*10/15;
}
else if (x<75)
{
y=(x-45)*20/30+40;
}
else if (x<90)
{
y=60-(x-75)*10/15;
}
else
{
printf("无意义");
return;
}
printf("%f",y);
system("pause");
}
代码下载及其运行
代码下载链接:
http://download.youkuaiyun.com/detail/yincheng01/6640681
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果
输入x之后