您的位置:首页 > 编程语言 > C语言/C++

第九周 项目1 分段函数求值.cpp

2012-10-30 17:55 218 查看
/* Copyright (c) 2012, 烟台大学计算机学院  
* All rights reserved.  
* 作    者:解晓东   
* 完成日期:2012 年 10 月 30 日  
* 版 本 号:v1.0  
*  
* 输入描述: x,x为非负数 
* 问题描述:求以x为自变量的分段函数的值,y=x(0<=x<2), y=x^2+2(2<=x<6), y=(x+1)^(1/2) (6<=x<10) y=1/(x+1) (x>=10) 
* 程序输出:y的值  
* 问题分析:本解用switch多分支语句完成求解。可以用x除以2后取整——用表达式int(x/2),合法的值为0、1、2、3、4及大于5的整数,据此得出case对应的各分支。 
* 算法设计:输入x后,判断是否为非负数。当是非负数时,按照上述分段的方法分别处理。  
*/ 

# include <iostream>     
# include <cmath>   

using namespace std;  

int main()  
{  
	float x,y;
//	char flag;
	
	do
	{
		cout << "请输入x的值:";
		cin>>x;  
		
		if (x<0)  
			cout<<"Input error!"<<endl;  
		else  
		{  
			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<<"x="<<x<<",y="<<y<<endl;
		}  

		cout << "输入 y/Y 继续!";
//		cin >> flag;

//	}while(('y' == flag) || ('Y' == flag));
	}while(getchar() == 'y' || getchar() == 'Y');
	return 0;       
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: