Online Compiler C

#include <stdio.h> int main() { int price, count, discount; scanf("%d %d %d",&price, &count, &discount); float total; total=price*count*(1-discount/100); printf("C=%.2f \n",total); return 0 }
这段代码试图计算商品打折后的总价,但存在一个关键问题:整数除法导致折扣计算错误。

- 在C语言中,`discount/100` 是两个整数相除,结果会直接截断小数部分。例如 `50/100` 的结果是0而不是0.5,这会导致 `1-0=1`,折扣完全失效。
- 需要确保除法运算至少有一个操作数是浮点数,才能得到正确的小数结果。