首页 > 代码库 > 百练8216-分段函数-2016正式A题

百练8216-分段函数-2016正式A题

百练

 / 

2016计算机学科夏令营上机考试

 已经结束
 

A:分段函数

  • 查看
  • 提交
  • 统计
  • 提问
总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

编写程序,计算下列分段函数y=f(x)的值。 

y=-x+2.5; 0 <= x < 5 

y=2-1.5(x-3)(x-3); 5 <= x < 10 

y=x/2-1.5; 10 <= x < 20

输入
一个浮点数N,0 <= N < 20
输出
输出N对应的分段函数值:f(N)。结果保留到小数点后三位。
样例输入
1.0
样例输出
1.500


 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string>
 4 
 5 using namespace std;
 6 
 7 int main()  {
 8     double a;
 9     while (cin >> a)    {
10         double y;
11         if(a >= 0.0 && a < 5.0) {
12             y = -1*a + 2.5;
13         }
14         else if(a >= 5.0 && a < 10) {
15             y = 2-1.5*(a-3)*(a-3);
16         }
17         else if (a >= 10.0 && a < 20)   {
18             y  = a / 2 - 1.5;
19         }
20         printf("%.3f\n", y);
21     }
22     return 0;
23 
24 }

 

提交网址:http://wbgzs.openjudge.cn/ex20170204/1/

主要注意输出格式。

参考百度知道:https://zhidao.baidu.com/question/230218201.html

控制小数位数就是通过输出格式说明符来规定的。

举例说明如下:

1
2
3
4
5
6
float f1=3.1415926;
float f2=1234.1415926;
float f3=124.1;
printf("%3.4f", f1);  // 输出结果为:_ _ 3.1416 ( _ 表示空格)
printf("%3.4f", f2);  // 输出结果为:1234.1416
printf("%3.4f", f3);  // 输出结果为:124.1000

printf("%3.4f", f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。

注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0

百练8216-分段函数-2016正式A题