int只能表示整数,double可以表示小数。
所以当你用一个int去表示double时就没有小数部分了,小数部分数据会丢失。
修改:
使用double Q, rate;
另外你前面那行没加分号
switch結構內部的賦值語句, rate定義爲整型int, 但數值是float, 比如0.026, 導致rate的實際值被截短變爲0, 所以, 把變量聲明語句改一下:
```c
int year, money //其實建議money也聲明爲float
float Q, rate
...
```
double Q;