【发布时间】:2019-09-30 00:17:04
【问题描述】:
这是我的代码
#include <stdio.h>
int main() {
float percentage;
int sp;
int bp;
percentage = (sp-bp)/bp*100;
scanf("%d %d", &sp, &bp );
printf("%.2f%%", percentage);
return 0;
}
示例输入:
150 85
样本输出:
76.47%
但我的输出是:
-100.00%
有人可以帮我解决这个问题吗?
【问题讨论】:
-
欢迎来到 SO!为什么
percentage = (sp-bp)/bp*100;在初始化值的scanf调用之上?程序从上到下运行,所以这是对一堆未初始化的变量进行算术运算。 -
@ggorlen 这就是问题之一。还有一个问题是对整数类型执行算术并期望浮点类型的结果。
标签: c