【题目链接】
ybt 1040:输出绝对值
OpenJudge NOI 1.4 02:输出绝对值
【题目考点】
1. if…else语句
2. - 运算符
-x
表达式的值为x的相反数
3. 三目运算符?:
4. fabs()函数 (存在于< cmath >中)
double fabs(double x);
求浮点数x的绝对值
【题解代码】
解法1:用if…else语句
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x;
cin>>x;
if(x >= 0)
cout<<fixed<<setprecision(2)<<x;
else
cout<<fixed<<setprecision(2)<<-x;
return 0;
}
解法2:用if语句
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x;
cin>>x;
if(x < 0)
x = -x;
cout<<fixed<<setprecision(2)<<x;
return 0;
}
解法3:用三目运算符
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x;
cin>>x;
cout<<fixed<<setprecision(2)<<(x >= 0 ? x : -x);//此处条件不能写x > 0,因为当x为0时,输出-x会输出-0.00。本题要保证当x为0时输出0.00
return 0;
}
解法4:用fabs()
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x;
cin>>x;
cout<<fixed<<setprecision(2)<<fabs(x);
return 0;
}