Online Compiler C

#include <stdio.h> int main() { int cost,num,p; float C; scanf("%d%d%d",&cost,&num,&p); C=num*(cost*((100-float(p))/100)); printf("C=%.2f",C); return 0; }
这段代码从输入读取三个整数:原价(cost)、数量(num)和折扣百分比(p),然后计算折扣后的总价并输出。但计算逻辑可能有问题。

- 注意运算符优先级:`cost * ((100 - float(p)) / 100)` 中,`float(p)` 的写法不正确,应该用 `(float)p` 或直接写成 `100.0 - p` 来避免整数除法。
- 检查折扣公式:通常折扣后的单价是 `cost * (100 - p) / 100`,但你的代码中 `(100 - float(p))` 的括号位置可能导致计算顺序不符合预期。