算法提高 利息计算
编制程序完成下述任务:接受两个数,一个为用户一年期定期存款金额,一个为按照百分比格式表示的利率;程序计算一年期满后本金与利息总额。说明:(1)存款金额以人民币元为单位,可能精确到分;(2)输入利率时不需要输入百分号,例如一年期定期存款年利率为2.52%,用户输入2.52即可;(3)按照国家法律,存款利息所得需缴纳20% 的所得税,计算结果时所得税部分应扣除。
输入样例:
10000 2.52
输出样例:
10201.60
代码如下:
#include
#include
using namespace std;
int main(){
int benjin;float lilv;
float benjinandlixi;
cin>>benjin>>lilv;
benjinandlixi=benjin*(0.8lilv0.01)+benjin;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<benjinandlixi;
return 0;
}
这次要讲的就是在C++中如何利用输出流cout控制输出规定位数的小数。
头文件#include具有流的格式化的功能,io代表输入输出,manip是manipulator(操纵器)的缩写(在c++上只能通过输入缩写才有效。)
常见的控制函数有:
dec 置基数为10 相当于"%d"
hex 置基数为16 相当于"%X"
oct 置基数为8 相当于"%o"
setfill( ‘c’ ) 设填充字符为c
setw( n ) 设域宽为n个字符,这个控制符的意思是保证输出宽度为n。
setprecision( n ) 设显示有效数字为n位,C++默认的流输出数值有效位是6。setprecision(n)与setiosflags(ios::fixed)合用,可以控制小