题目1062:分段函数
题目描述:
编写程序,计算下列分段函数y=f(x)的值。
y=-x+2.5; 0<=x<2
y=2-1.5(x-3)(x-3); 2<=x<4
y=x/2-1.5; 4<=x<6
输入:
一个浮点数N
输出:
测试数据可能有多组,对于每一组数据,
输出N对应的分段函数值:f(N)。结果保留三位小数
样例输入:
1
样例输出:
1.500
来源:
2001年清华大学计算机研究生机试真题(第I套)
code
c语言实现
#include<stdio.h>
float f(float x) {
if (x>=0.0 && x<=2.0)
return -x+2.5;
else if (x <=4.0)
return 2.0-1.5*(x-3.0)*(x-3.0);
else
return x*0.5-1.5;
}
int main() {
float N;
while (scanf("%f",&N) == 1) {
if (N<0.0 || N>6.0)
continue;
else
printf("%.3f\n",f(N));
}
return 0;
}
/************************************************************** Problem: 1062 User: langzimaizan Language: C Result: Accepted Time:10 ms Memory:912 kb ****************************************************************/