[技术交流] C++第二课:输入,变量与输出(进阶)
大家好,又是我!今天还会学习输入与输出,只不过会难一些!
还记得我们之前做的加法计算器吗:
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin >> a >> b ;
cout << a+b;
return 0;
}今天我们会围绕它来教学!
今天会用到的代码:
double xxx;//定义双精度浮点数,也就是小数
cout<<fixed<<setprecision(3)<<xxx;//输出指定小数点后几位的代码,fixed指小数
//也会用到之前的代码!!先定义一个double变量,再让他可以输入输出:
#include <bits/stdc++.h>
using namespace std;
int main(){
double a;
cin>>a;
cout<<a;
return 0;
}先输入1:照常输出。
再尝试输入圆周率:3.14159265358,
为啥只输出3.14159呢?
因为cout有默认值,不指定会默认小数后五位。
如果想要提高精度,需要使用setprecision();指定。
修改一下:
...
cout<<fixed<<setprecision(11)<<a;
...现在好了,让我们测试一下:
嗯~这就是想要的效果!
接下来布置作业!
1.你能做个小数加法器吗(保留4位)?
答案:
#include <bits/stdc++.h>
using namespace std;
int main(){
double a,b;
cin>>a>>b;
cout<<fixed<<setprecision(4)<<a+b;
return 0;
}//你答对了吗?今天的教学到此结束,再见!
好的,我们继续今天的进阶课程。上一课我们只学了整数加法,但实际生活中经常遇到小数计算。今天我们引入一个新的变量类型——double(双精度浮点数),它能存储小数。
将之前的代码稍作改动,就能变成支持小数的加法计算器:
#include <bits/stdc++.h>
using namespace std;
int main(){
double a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
注意:输入时可以直接输入小数,比如 3.14 和 2.86,程序会正确计算出结果 6。
但这样输出的小数位数可能很长(例如 0.1+0.2=0.3 在计算机里有时会显示很多位)。我们可以控制输出格式,只保留两位小数,用 fixed 和 setprecision:
#include <bits/stdc++.h>
using namespace std;
int main(){
double a, b;
cin >> a >> b;
cout << fixed << setprecision(2) << a + b;
return 0;
}
这时输出就会像 3.14 + 2.86 = 6.00 这样整齐。
double 的赋值和输入方法跟 int 完全一样,只是它能表示小数。定义多个变量时用空格或换行隔开即可。
现在请尝试自己编写一个程序,输入两个小数,输出它们的差(减法),结果保留三位小数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 开卷有益!
收藏
页:
[1]