/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:week8-project3(2).cpp
*作者:高赞
*完成日期:2014年 10 月 16 日
*版本号:v1.0
*
*问题描述:计算函数值,x<2时,y=x;2<=x<6时,y=x*x+1;6<=x<10时,y=sqrt(x+1);否则y=1/(x+1)。使用switch语句
*输入描述:一个实数x
*程序输出:对应的y值
*/
#include <iostream>
#include <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 3:
y=x;
break;
case 2:
y=x*x+1;
break;
case 1:
y=sqrt(x+1);
break;
case 0:
y=1/(x+1);
break;
default:
cout << "error!" << endl;
}
cout << "y=" << y << endl;
return 0;
}
运算结果:
知识点总结:
使用switch语句完成多分支选择。
学习心得:
switch (t)后面容易误加分号;case 后面一定要有空格来和常量分开。
为确保程序严谨,最好还是加上 default 。