C语言 A除以B

题目:给定两个绝对值不超过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<stdio.h>
int main()
{
 float A,B,s;
 scanf("%f %f",&A,&B);
 s=A/B;
 if(B>0)
 printf("%.0f/%.0f=%.2f",A,B,s);
 else if(B==0)
 printf("%.0f/%.0f=Error",A,B);
 else
 printf("%.0f/(%.0f)=%.2f",A,B,s);
return 0;
}
### C语言中整型除法的运算规则 在C语言中,当两个操作数均为整数时,`/` 运算符执行的是整数除法。这意味着计算结果会丢弃小数部分并仅保留整数部分[^2]。 #### 示例代码 以下是展示整数除法的一个简单例子: ```c #include <stdio.h> int main() { int a = 7, b = 3; int result = a / b; // 整数除法 printf("Result of %d / %d is %d\n", a, b, result); return 0; } ``` 运行上述代码的结果将是 `Result of 7 / 3 is 2`,因为整数除法只会返回商的整数部分,而不会考虑余数或小数部分[^2]。 #### 浮点数转换的影响 如果希望得到带有小数部分的结果,则至少需要将其中一个操作数显式地转换为浮点类型。例如,在以下代码片段中展示了如何通过强制类型转换实现这一点: ```c #include <stdio.h> int main() { int a = 10, b = 3; float result = (float)a / b; // 将a转为浮点数后再做除法 printf("Floating point division: %.2f\n", result); return 0; } ``` 此代码中的 `(float)a` 表达式的目的是把变量 `a` 转换成浮点数形式以便于进行更精确的除法运算[^1]。 另外一种方法是在定义阶段就指定某个数值为浮点常量,如下所示: ```c #include <stdio.h> int main(){ float c,d,e; c=10/3; /* 结果仍为整数 */ d=10/3.0; /* 至少有一个操作数是浮点数 */ e=10.0/3; /* 同样有浮点参与 */ printf("Integer Division:%f\n",c); /* 显示为3.000000 */ printf("One operand as double:%f\n",d); /* 正确显示约等于3.33...*/ printf("Another way with doubles:%f",e); /* 类似上一行 */ return 0; } ``` 以上程序输出表明只有当任意一方涉及到了浮点数据类型的处理时才能获得非截断后的实际值[^3]。 ### 总结 综上所述,对于纯整数之间的相除情况,默认遵循向下取整原则去除所有的小数位;但如果期望获取更加精准包含小数点之后的数据则需适当引入浮点数概念加以调整逻辑结构即可达成目标需求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值