银行存款计算
10万元存银行,每年利息3.75%,每年计算一次利息,将本金加上利息作为第二年的本金,求n年后该账户有多少钱。
编写程序,要求:输入整数n(表示n年后),输出n年后的账户钱数(保留两位小数)。
效果如下:
输入:2
输出:107640.63
解决代码
#include <stdio.h>
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int x =0;
double sum = 100000;
cin >> x;
for(int i = 1; i <= x; i++){
sum = sum + sum * 0.0375;
}
cout << fixed <<setprecision(2)<< sum << endl;
return 0;
}
问题记录
- cout流默认保留六位有效位,超过六位则使用科学计数法表示
- setprecision()函数设置有效位数目
- fixed和setprecision()一起使用效果是保留几位小数
水分子总数
一个水分子的质量是3.0*10^-23克,一夸脱水的质量是950克。写一个程序输入水的夸脱数n(0 <= n <= 1e10),然后输出水分子的总数。
公式:
水分子的总数 = 水的夸脱数 * 一夸脱水的质量 / 一水分子的质量
效果如下:
输入:109.43
输出:3.46528e+027
解决代码
#include<iostream>
#include<cmath>
using namespace std;
#define massOfQuartWater 950.0
int main()
{
double n;
cin>>n;
double massOfWaterMolecule = 3.0*pow(10,-23);
double r = n * massOfQuartWater /massOfWaterMolecule;
cout<<r<<endl;
return 0;
}
问题记录
- massOfWaterMolecule的值如果使用宏定义的话则会变成3*10^23,目前不知道怎么回事。