问题及代码:
/*
*
*Copyright (c) 2014 ,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:尚月
*完成日期:2014年10月15日
*版本号:v1.0
*
*问题描述:计算分段函数的值:当x<2时,y=x,当2<=x<6时,y=-x*x+1,当6<=x<10时,y=(x+1)1/2,否则,y=1/(x+1)
*输入描述:一个整数x
*程序输出:对应的y值
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x,y;
int t;
cin>>x;
t=(x<2)+(x<6)+(x<10);
switch (t)
{
case 3://(x<2)、(x<6)、(x<10)全为真时
y=x; break ;
case 2://(x<6)、(x<10)为真时
y=x*x+1; break ;
case 1://仅(x<10)为真时
y=sqrt(x+1); break ;
case 0://(x<2)、(x<6)、(x<10)没有一个为真,即x>=10
y=1/(x+1);
}
cout <<y<<endl;
return 0;
}
知识点总结:
一开始对switch语句还不是很了解,但跟着贺老师的步骤,一步一步总算是把它弄明白了,在编程过程中,也有很多错误出现,但也在错误中成长,我能行!
学习心得:
学习新语句变成,感觉自己有想程序员迈进了一步,以后每天都要努力,成为一名优秀的程序员,加油。