OJ初体验---A+B问题//EOF//精度控制

1.A+B问题//控制EOF

#include <iostream>

using namespace std;//C++头文件

{

int a,b;

while(cin>>a>>b)//相当于C语言中的while(scanf("%d %d",&a,&b)!=EOF)

{

cout<<a+b<<endl;//输出a+b的和,endl相当于C语言中的\n

}

return 0;

}

扫描二维码关注公众号,回复: 10389105 查看本文章

其中输出也可以这样写:cout<<"sum="<<a+b<<endl;(需要提前定义sum)。

注意cin后跟“>>",cout后跟"<<"。
--------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------------

2. EOF判断

 1.while((scanf"%d,%d",&m,&n)==2)

  {

  //...

  }

2.while((scanf"%d,%d",&m,&n)!=EOF)

  {

  //...

  }

3.while(cin>>m>>n)

   {

   //...

   }

( scanf("%d %d", &n, &m), n+m) -- 这是“逗号”表达式。

--------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------

3.输出控制精度

在C++中,是没有格式符的,我们可以通过使用setprecision()函数来实现这个需求。

想要使用setprecision()函数,必须包含头文件#include <iomanip>。使用方式如下:

cout << "a=" << setprecision(2) << a <<endl;

这时候,我们会发现,如果a的值为0.20001,输出的结果为a=0.2,后面第二位的0被省略了。

如果我们想要让它自动补0,需要在cout之前进行补0的定义。代码如下:

cout.setf(ios::fixed);
cout << "a=" <<fixed<< setprecision(2) << a <<endl; //输出a=0.20

这样,我们就可以得到0.20了。当然,如果想要关闭掉补0,只需要对fixed进行取消设置操作。

cout.unsetf(ios::fixed);
cout << "a=" << setprecision(2) << a <<endl; //输出a=0.2

我们的输出结果就又变回a=0.2了。

猜你喜欢

转载自www.cnblogs.com/Begin-Again/p/12616886.html