Online Compiler C

#include <stdio.h> int main() { int price, count, discount; scanf("%d %d %d",&price, &count, &discount); float total,i; i=discount; total=price*count*(1.0-i/100.0); printf("C=%.2f \n",total); return 0; }
这段代码的功能是:输入商品单价、数量和折扣百分比,计算并输出折扣后的总价。它先将折扣百分比存入浮点数变量 `i`,然后用公式 `总价 = 单价 * 数量 * (1 - 折扣/100)` 计算结果。

- 变量 `i` 被声明为 `float`,但 `discount` 是 `int`,赋值时会发生隐式类型转换,这里没有问题。但注意 `i/100.0` 中使用了浮点数除法,这是正确的。
- 代码没有明显的语法错误,但需要检查逻辑是否符合题目要求。如果折扣是整数百分比,计算方式正确;但如果折扣本身是浮点数(如 12.5%),则 `discount` 定义为 `int` 会导致精度丢失。