**
1051题目:
**1051:分段函数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 31164 通过数: 17925
【题目描述】
y=−x+2.5;0≤x<5y=−x+2.5;0≤x<5
y=2−1.5(x−3)(x−3);5≤x<10y=2−1.5(x−3)(x−3);5≤x<10
y=x2−1.5;10≤x<20y=x2−1.5;10≤x<20
【输入】
一个浮点数N(0≤N<20)N(0≤N<20)。
【输出】
输出 NN 对应的分段函数值:f(N)f(N)。结果保留到小数点后三位。
【输入样例】
1.0
【输出样例】
1.500
【来源】
NO
提交 统计信息 提交记录
**
重点思路:
**
运用switch语句,常量表达式无法写出范围,所以在switch后面的表达式写((int)N/5).
**
1051答案:
**
#include <cstdio>;
using namespace std;
int main(){
float N,y;
scanf("%f",&N);
switch((int)N/5){
case 0:y=-N+2.5;break;
case 1:y=2-1.5*(N-3)*(N-3);break;
case 2:
case 3:y=N/2-1.5;break;
}
printf("%.3f",y);
return 0;
}