输入一个double数据,对第三位小数四舍五入后输出此数

第八行不应该是先强制取整后再用除法吗?
优先级是强制执行大于乘除的呀[
输入23.456出来应该是23.46吧而不是23.00

#include//输入一个double数据,对第三位小数四舍五入后输出此数
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);就行了