问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:李盈盈
*完成日期:2014年10月16日
*版本号:v1.0
*
*问题描述:输入x,根据公式计算并输出y的值
*输入描述:一个数x
*程序输出:对应的y的值
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int t;
double x,y;
cout<<"输入x的值:";
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)没有一个为真时.
y=1.0/(x+1);
}
cout<<"y="<<y<<endl;
return 0;
}
运行结果:
知识点总结:
从这一个程序中,学会了用switch语句,掌握了switch应用的细节。
学习心得:
一开始编这个程序,将t定义为实型,与下面switch语句冲突,而导致运行出错。这一次的错误让我认识到细节的重要性,还有编程的严谨性,要前后一致!
希望自己可以在之后的学习中,仔细认真对待每一细节。