没指明哪个数据是错的,代码没问题;建议是,其一,s定义为double类型第10行改为printf("%1f%1f",&w,&s);,其二,看一下计算公式有没有错
s是int,输入的小数会被忽略,结果也就不准了