函数公式为:
问题及代码:
/*
*Copyright(c)2014,烟台计算机学院
*All rights reserved
*文件名称:test.cpp
*作者:曾建强
*完成日期:2014年10月16日
*版本号:v1.0
*
*问题描述:用switch的语句构造多分支结构,进行多分段函数求值。输入一个数x,输出一个数y。
*输入描述:一个数,代表x
*程序输出:一个数,代表y
*/
#include <iostream>
#include <cmath> //使用数学函数要包含头文件cmath
using namespace std;
int main()
{
double x,y;
int t;
cout << "请输入x的值:";
cin >>x;
t=(x<2)+(x<6)+(x<10);
switch (t)
{
case 0: //(x<2),(x<6),(x<10)没有一个为真,即x>=10
y=1/(x+1);
break;
case 1: //只有x<10为真,即x>=6并且x<10
y=sqrt(x+1);
break;
case 2: //(x<6),(x<10)为真,即x>=2并且x<6
y=x*x+1;
break;
case 3: //(x<2),(x<6),(x<10)全为真,即x<2
y=x;
break;
}
cout << "输出y的值为:"<<y<<endl;
return 0;
}
运行结果:
知识点总结:
这是我第一个用switch语句编的多分支结构,case的0,1,2,3是根据前面的条件成立个数来确定的,不能随便乱用。
学习心得:
刚开始做的时候摸不到半点头脑,但是经过老师的教导之后有种豁然开朗的感觉。觉得这种程序蛮有意识的,再大的困难也吓不到我,不抛弃,不放弃。