问题即代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:多段函数求值.cpp
* 作 者:张鹏
* 完成日期:2014年 10 月 16日
* 版 本 号:v1.0
*
* 问题描述:输入x的值,根据公式计算并输出y的值。
* 输入描述:一个数,代表x的值。
* 程序输出:一个数,代表y的值。
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double t,x,y;
cin>>x;
t=(x<2)+(x<6)+(x<10);
switch (t)
{
case 3:
y=x;
break; //(x<2)+(x<6)+(x<10)全为真
case 2:
y=x*x+1;
break; //(x<2)+(x<6)为真
case 1:
y=sqrt(x+1);
break; //(x<2)为真
case 0:
y=1/(x+1) ; //x<2)+(x<6)+(x<10)全为假即x>=10
}
cout<<y<<endl;
return 0;
}
运行结果:
知识点总结:
运用swith语句并利用 t=(x<2)+(x<6)+(x<10)来减少程序的复杂性。
学习心得:
编程好快乐。