真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。
输入格式:
输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。
输出格式:
在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。
输入样例1:
-1 2
输出样例1:
-1/2=-0.50
输入样例2:
1 -3
输出样例2:
1/(-3)=-0.33
输入样例3:
5 0
输出样例3:
5/0=Error
答案
第一次
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
float a;
float b;
cin>>a>>b;
if(b-abs(b)!=0)//b是负数
cout<<a<<"/"<<"("<<b<<")"<<"="<<setprecision(2)<<a/b;
else if(b==0)
cout<<a<<"/"<<b<<"="<<"Error";
else
cout<<a<<"/"<<b<<"="<<setiosflags(ios::fixed)<<setprecision(2)<<a/b;
return 0;
}
有一个测试点没过
第二次
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a,b;//录入A和B
cin>>a>>b;
double result;
result=(double)a/(double)b;
if(b>0)
cout<<a<<'/'<<b<<'='<<fixed<<setprecision(2)<<result;
else if(b<0)
cout<<a<<"/("<<b<<")="<<fixed<<setprecision(2)<<result;
else
cout<<a<<'/'<<b<<"=Error";
return 0;
}
总结:fixed用法
1.当输出的数字较大时,使用‘fixed,它表示浮点输出应该以固定点或小数点表示法显示
2.当它与 setprecision 操作符一起使用时,setprecision 即可以以一种新的方式显示。它将指定浮点数字的小数点后要显示的位数,而不是要显示的总有效数位数。