[英]declaring basic data types in c++ using cin and cout
#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
输出应该显示相同的数字,但事实并非如此。 它显示其他一些数字,所以,伙计们请帮我,我是编程新手。
您将获得如下输出:
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
精度是有限的,并且默认情况下不显示浮点后的最后零(并且不保存)。 如果需要获得完全相同的输出,则应该保存字符串,而不是整数或浮点值。 并且您可以尝试使用选项“ fixed”输出: cout << fixed << c << ' ';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.