第八行不应该是先强制取整后再用除法吗?
优先级是强制执行大于乘除的呀[
输入23.456出来应该是23.46吧而不是23.00
#include
int main(){
double a;//88.678
printf("请输入一个三位小数:\n");
scanf("%lf",&a);
a=a*100;//8867.8
a=a+0.5;//8868.3
a=(int)a/100;
printf("%lf\n",a);
return 0;
}
把
a=(int)a/100;
改为
a = (int)a / 100.0;
不然,就按整除计算了。
#include <stdio.h>
int main() {
double a; // 88.678
printf("请输入一个三位小数: ");
scanf("%lf", &a);
a = a * 100; // 8867.8
a = a + 0.5; // 8868.3
a = (int)a / 100.0;
printf("%.2lf\n", a);
return 0;
}
不用那么费劲,你直接printf("%.2lf\n",a);就行了