2014 第三章上机实验 if 学生问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
main()
{
double x,y;
cout<<"请输入x值:";
cin>>x;
if(x<1)
y=x;
else if(x>=1&&x<10) //啰嗦
y=x+5;
else if(x>=10) //红色可去掉
y=x-5;
cout<<"y值为:"< return 0; } #include int main() { double x,y; cin>>x; if(x<1) y=x; if((x>=1)&&(x<10)) y=x+5; if(x>=10) y=x-5; cout<<"y="< return 0; } 体会:为什么最后一个if不可以用else替换??? 最后一个if如果用else替换的话会出错,因为条件((x>=1)&&(x<10))为假才会进入else,使条件为假的条件有两个,x<1和x>=10,如果else执行y=x-5显然不合适。但如果第二 个if前面也加上else则没错 #include main () { double x,y; cout<<"\n输入x的值\n"; cin>>x; if (x<1) y=x; if (1<=x<10) y=x+5; if (x>=10) y=x-5; cout<<"\n输出y的值\n"< return 0; } 这个算数表达式错误,应该用逻辑表达式 #include int main() { float x,y; cin>>x; if(x<1) y=x; else if(x<10) y=x+5; else if(x>=10) //可去掉 y=x-5; cout< return 0; } #include main() { float x,y; cout<<"请输入一个x的值:"< cin>>x; if (x>=10) y=x-5; else if (x<1) y=x; else if ((x>=1)||(x<10)) y=x+5; cout< return 0; } 红色标注部分可去掉,且逻辑表达式不对,应((x>=1)&&(x<10)) #include void main() { float x,y; cout<<"已知x的值为:"; cin>>x; if(x<1) y=x; if(x>=10) y=x-5; else y=x+5; cout<<"输出y的值为:"< } 输入0试试结果 #include int main() { int a,b,c,d,e,f; //没必要说明三个变量,一个即可 cout<<"输入三个数:"; cin>>a>>b>>c; cout<<"输入的三个数为:"< { //这俩大括号没意义啊! if (a>b) { d=a,a=b,b=d; } if (a>c) { e=a,a=c,c=e; } if(b>c) { f=b,b=c,c=f; }