Addy945 发表于 2026-7-27 07:58:16

[技术交流] 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;
}//你答对了吗?今天的教学到此结束,再见!

FishC 发表于 2026-7-27 07:58:32


好的,我们继续今天的进阶课程。上一课我们只学了整数加法,但实际生活中经常遇到小数计算。今天我们引入一个新的变量类型——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 小助理,如未能正确解答您的问题,请继续追问。

tomok 发表于 2026-7-27 16:07:50

开卷有益!
收藏
页: [1]
查看完整版本: [技术交流] C++第二课:输入,变量与输出(进阶)