一、问题及代码:
/*
* 文件名称:juewang.cpp
* 作 者:赵恒
* 完成日期:2017 年 3 月 22 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 求解一个多段函数
* 输入描述:无
* 问题描述:一个4段函数
* 程序输出:Y的值
* 问题分析:需要使用IF语句,以及算数包。
* 算法设计:无
*/
#include<iostream.h>
#include<math.h>;
void main()
{
double x;
cout<<"输入x=";
cin>>x;
if(x<2)
cout<<"y="<<x<<endl;
else if(2<=x&x<6)
cout<<"y="<<x*x+1<<endl;
else if(6<=x&x<10)
cout<<"y="<<sqrt(x+1)<<endl;
else if(x>=10)
cout<<"y="<<1/(x+1)<<endl;
}
二、运行结果:
三、心得体会:
完成这个程序用了一个多小时。最开始用“int” 但是函数中有分数,如果用“int"是无法正确输出大于10的部分的,所以要用"double"然后,开二次方的运算符号不是" ^ "而是"sqrt"加入正确的包<math.h>。最后,不能用“6<x<8"表示,要用&,即“6<x&x,8"。
四、知识点总结:
上面已经总结了不少,但是在完成这个程序的过程中,学到一个知识,if与else的配对关系,else总是与它上面最近的且未配对的if配对,如果要省略else可以用{ }括起该与它最近的if。