7-6 混合类型数据格式化输入 (5 分)C++

本题中我发现在C++中我不能像c中保留小数点后几位的数
因此百度了方法
iomanip库中有setprecision() fixed可解
flaot value;
cout << setprecision(4) << value << endl;
//相当于printf("%4f\n",value);
cout << fixed << setprecision(4) << value << endl;
//相当于printf("%.4f\n",value);
补充:此两函数后的数值 均受其影响改变精度

cout.unsetf( ios::fixed ); // 去掉了fixed
cout.precision( 4); // 恢复成原来的样子,
有个疑问,那就是c中%m.nf 在c++中该怎么表示?

本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
输入样例:
2.12 88 c 4.7

输出样例:
c 88 2.12 4.70
百度知道:C++ 标准输出如何控制小数点后位 精度

#include <iostream>
#include <iomanip>
using namespace std;
//顺序读入浮点数1、整数、字符、浮点数2,
//再按照字符、整数、浮点数1、浮点数2的顺序输出。
int main()
{
 float f,b;
 int d;
 char c;
 cin>>f>>d>>c>>b;
 cout<<c<<" "<<d<<" ";
 cout << fixed << setprecision(2) <<f<<" "<<b<< endl;
return 0;
}

猜你喜欢

转载自blog.csdn.net/Hoshea_H/article/details/86660672
今日推荐