17-6 A除以B (10 分)
真的是简单题哈 —— 给定两个绝对值不超过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
输出样例
5/0=Error
看起来似乎不难,实际也确实如此,但是有一个需要注意的地方
如果A、B都是整型,那么A/B也是整型,需要做一点处理,才能
使结果为浮点
读者如果比较一下a*1.0/b跟a/b,就可以立即发现其中的区别
//将a*1.0是为了将a这个数转换为浮点数,浮点数除以整形结果就可以是浮点数而不用再转换了
源代码
#include<stdio.h>
int a,b;
int main()
{
scanf("%d%d",&a,&b);
if(b>0)
printf("%d/%d=%.2f",a,b,a*1.0/b);
else if(b<0)
printf("%d/(%d)=%.2f",a,b,a*1.0/b);
else
printf("%d/0=Error",a);
}
/*int类型除以int类型结果只能是int类型,如果约束结果为%f类型,
那么结果会转换为整形。结果只会是0.00,*/
/*将a*1.0是为了将a这个数转换为浮点数,
浮点数除以整形结果就是浮点数了,这样就完成转换了*/