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 關注
- 251 瀏覽
添加回答
舉報