为了账号安全,请及时绑定邮箱和手机立即绑定

这道题怎么也不会,只好来求助了!希望高手们能给予帮助

这道题怎么也不会,只好来求助了!希望高手们能给予帮助

烙印99 2022-08-04 14:10:25
是一个分段函数:x<0,y=2x+1;0≤x≤3,Y=x*x;x>3,Y=3x;用switch case 语句实现的!!!拜托了!题目就这样的。。就是问这样的一个分段函数能不能用switch case 语句!!!为什么都要加个using namespace std;呢,不加行不行!还有就是不能用其他语句的,就只用switch case 语句
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

格式为:

switch(i){

    case 1:语句1

    case 2:语句2

    .......

    default:语句3

}

实例如下:


查看完整回答
反对 回复 2022-08-08
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

因为switch (x) 中的x只能是整数或枚举型,而输入的x可能数小数,所以要转换一下;
因为只有3种情况所以用3个判断就行了;
代码如下:
#include <iostream>
using namespace std;

int main()
{
double x,y;
int k;
while(cin>>x)
{
if( x < 0 ) k=0;
else if( x >= 0 && x <= 3 ) k=1;
else if( x > 3 ) k=2;
switch(k)
{
case 0:y=2*x+1; break;
case 1:y=x*x; break;
case 2:y=3*x; break;
}
cout<<y<<endl;
}
return 0;
}


查看完整回答
反对 回复 2022-08-08
?
慕斯709654

TA贡献1840条经验 获得超5个赞

#include <iostream>
using namespace std;

int main()
{
double x,y;
int k;
while(cin>>x)
{
if( x < 0 ) k=0;
else if( x >= 0 && x <= 3 ) k=1;
else if( x > 3 ) k=2;
switch(k)
{
case 0:y=2*x+1; break;
case 1:y=x*x; break;
case 2:y=3*x; break;
}
cout<<y<<endl;
}
return 0;
}

这个应该是对了

不行的,using namespace std 不加的话endl和cout都不能直接用的,要加std::endl和std::cout才可以。因为这两个关键词的功能实现都在std文件中的

当然可以有其他的语句了


查看完整回答
反对 回复 2022-08-08
  • 3 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信