8.3(2)多分支函数求值(switch语句)

来源:互联网 发布:百胜软件单机版 编辑:程序博客网 时间:2024/04/30 08:16
1.问题及代码:  2./*  3. * Copyright (c) 2014, 烟台大学计算机学院  4. * All rights reserved.  5. * 文件名称:iMapiefunct.cpp  6. * 作    者:王志7. * 完成日期:2014年 12 月 27 日  8. * 版 本 号:v1.0  9. *  10. * 问题描述: x<2,y=x;2<=x<6,y=x*x+1;6<=x<10,y=sqrt(x+1);x>10,y=1/(x+1),用switch语句解决11. * 输入描述: x值12. * 程序输出: 相应的y值13. */   #include <iostream>#include <cmath>using namespace std;int main(){    int x,y,m;    cin>>x;    m=(x<2)+(x<6)+(x<10);    switch(m)    {        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;    }    cout<<y<<endl;    return 0;}
运行结果:
<img src="http://img.blog.csdn.net/20141227180630843?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhpbHVmZnk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20141227180659734?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhpbHVmZnk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<img src="http://img.blog.csdn.net/20141227180640499?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhpbHVmZnk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20141227180648190?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhpbHVmZnk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" alt="" />
知识点总结:
m可以表示x满足的条件数  当m值为3时,代表三个条件都满足,即x<2;当m值为0时,代表三个条件都不满足,即x>=10。由m的取值,来决定switch分支

0 0