#include <stdio.h> int main() { int a, b,c,d; float sum; scanf("%d %d %d %d", &a,&b,&c,&d); sum=(a*20+b*10+c*20+d*50)/100.0; printf("%.1f",sum); return 0; }
- 在计算sum的值时,使用了%运算符。%运算符是取余运算符,而不是百分比运算符。如果要计算百分比,应该使用除法运算符/。
- sum的类型被定义为float,但是在使用printf函数打印时,使用了%d格式化符来表示一个整数。应该使用%f格式化符来表示一个浮点数。
3.为什么100后面加.0 ?
在计算机中,整数除以整数的结果仍然是一个整数。如果想得到一个浮点数的结果,需要将其中一个操作数转换为浮点数。在这种情况下,我们将100转换为100.0,以确保除法运算得到的是浮点数结果,而不是整数结果。
通过将100转换为浮点数,我们可以得到一个精确到小数点后一位的浮点数结果。如果不进行转换,结果将被截断为整数部分,小数部分将被丢弃。