第8周项目——多分段函数求值 多法

来源:互联网 发布:ubuntu vmware tools 编辑:程序博客网 时间:2024/06/11 18:15
问题及代码:

/*

 * Copyright (c)2014,烟台大学计算机学院

 

*All rights reserved.

 *文件名称:test.cpp

 *作    者: 姜 甜 甜

 *完成日期:2014年 10 月17 日

 *版本 号:v1.0

 *

 * 问题描述:输入X的值(要求为实型),根据以下公式计算并输出Y的值

Y=

   {    X     X<2   {  X^2+1  2<=X<6Y= {SPRT(X+1)   {   1/(X+1)


 

 *输入描述:一个实型x

 *程序输出:对应 y值

 */

 1:用if~else语句的嵌套

#include <iostream>#include<cmath>using namespace std;int main(){double x,y;cin>>x;if(x<2)    y=x;else if(x<6)    y=x*x+1;else if(x<10)    y=sqrt(x+1);else y=1/(x+1);cout<<y<<endl;    return 0;}


2.用switch语句构造多分支结构

方法1

#include <iostream>#include<cmath>using namespace std;int main(){    int t;    double x,y;    cin>>x;    t=x/2;    if(t>=5)        y=1/(1+x);    switch (t)   {    case 0:y=x;break;    case 1:    case 2:y=x*x+1;break;    case 3:    case 4:y=sqrt(x+1);break;   }   cout<<y<<endl;    return 0;}

方法2

#include <iostream>#include<cmath>using namespace std;int main(){    int t;    double x,y;    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(1/(x+1));break;        case 0:y=1/(x+1);    }   cout<<y<<endl;    return 0;}


 


编程心得:一个编程可有许多种程序,但有很多相似之处,花了很多时间来完成,随着学习的程度,相信会编的愈来愈快,程序更简单。

用switch语句时,要注意表达式及break的位置,一开始出了很多错,后来也就慢慢理解了。嗯,努力!!

 

 

0 0
原创粉丝点击