例7.1
如何定义小数变量n?
1.float n, 2.double n
注意:double能容纳的小数位数比float多,差不多15位左右
float6位左右
这里使用printf进行保留小数,用c++保留小数的方法如下:
设变量n要保留m位:cout<<fixed<<setprecision(m)<<n;
#include <iostream>
using namespace std;
int main() {
double a;
cin >> a;
printf("%.3lf", a);
return 0;
}
例7.2
直接套计算公式(见代码)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double r, d, c, s;
double pi = 3.14159;
cin >> r;
d = r * 2;
c = 2 * pi * r;
s = pi * r * r;
cout << fixed << setprecision(4) << d << " " << c << " " << s << endl;
return 0;
}
练7.1
套三角形面积公式:s=ah÷2
注意考虑无法整除的情况
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << "s="<< double(a * b / 2.0);
return 0;
}
练7.2
这道题float容纳不下,需要用double
以下提供c++写法:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double a;
cin >> a;
cout << fixed << setprecision(12) << a;
return 0;
}
练7.3
剩下的钱=原有的钱-商品价格*0.8
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
printf("%.2lf", double(a - b * 0.8));
return 0;
}
练7.4
嗯。。。就是做数学题,只不过不用计算罢了。。。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << fixed << setprecision(2) << (25 + 15.00) * (150 * 2 / 15) / 2;
return 0;
}