使用cin和cout在c ++中声明基本数据类型

时间:2017-05-18 12:28:25

标签: c++

 #include <iostream>
 #include <cstdio>

 using namespace std;

 int main() {

    int a;
    long b;
    char z;
    float c;
    double d;

    cin>>a;
    cin>>b;
    cin>>z;
    cin>>c;
    cin>>d;

    cout<<a<<endl;
    cout<<b<<endl;
    cout<<z<<endl;
    cout<<c<<endl;
    cout<<d<<endl;

    // Complete the code.

    return 0;
    }

在上面的程序中,我认为我已经做了一切正确的事情,但是当我提供这样的输入时,例如:

368252310 27547295356575738 c 46866.250 -247884.497885257

输出应该显示相同的数字,但它没有这样做。它显示了一些其他数字 所以,伙计们,请帮助我,我是编程新手。

1 个答案:

答案 0 :(得分:1)

你得到这样的输出:

368252310
27547295356575738
c
46866.2
-247884

您需要进行2次更改才能获得相同(但不完全相同)的输出。 首先,将'\n'替换为空格。 其次,设置cout的精度。

cout<<a<<' ';
cout<<b<<' ';
cout<<z<<' ';
cout.precision(16);
cout<<c<<' ';
cout.precision(16);
cout<<d<<endl;

你会得到这样的输出:

368252310 27547295356575738 c 46866.25 -247884.497885257

这是因为默认精度低于您的输入。

但是存在一些给出不同输出的数字,因为double的精度是有限的,并且浮动点之后的最后零默认不显示(并且不保存)。 如果你需要得到EXACT相同的输出,那么你应该保存字符串,而不是整数或浮点值。 您可以尝试输出选项&#34;固定&#34;:cout << fixed << c << ' ';