既然有小数,就不能用int类型了,输入的时候也不能用%d,要把它定义为float, 输入时用%f 格式控制。 --如果有借位,那相减的时候就要改一下了,原本2位小数是加100的,你要把它弄成1 位小数,就只能加 10 了,else { change_integer=cash_integer-sale_integer-1; change_fraction=100+cash_fraction-sale_fraction; }