3 回答
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;
}
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文件中的
当然可以有其他的语句了
- 3 回答
- 0 关注
- 219 浏览
添加回答
举报