cout.precision() && cout.width()

cout.precision(i);//输出精度为i的数据

for example:
i=0 ---------.>2
i=1 --------->2.1
i=4 -----------.>2.1235

cout.width(i);//就是输出的字符串宽度为i,不足的会用空格补足
cin.width();///输入字符串宽度

#include<iostream>

using namespace std;
int main()
{
	int width = 4;
	char str[20];
	
	cout<<"please cout the :\n";
	cin.width(5);
	
	while(cin>>str)
	{
		cout.width(width++);
		cout<<str<<endl;
		cin.width(5);
	}
	
	return 0;
 } 

输出:
please cout the :
i love you so much!i like you!
i
love
you
so
much
!i
like
you!

1、阅读下列程序,然后上机运行验证输出结果,并回答下列问题。 #include <iostream> using namespace std; void showflags(long f) { long i = 0x8000; for(; i; i=i>>1) { if(i&f) cout<<"1"; else cout<<"0"; } cout<<endl; } int main() { showflags(cout.flags()); cout<<"x_width="<<cout.width()<<endl; cout<<"x_fill="<<cout.fill()<<endl; cout<<"x_precision="<<cout.precision()<<endl; cout<<123<<" "<<123.45678<<endl; cout<<"-----------------------------"<<endl; cout<<"* * * x_width=10,x_fill= ,x_precision=4 * * *"<<endl; cout.width(10); cout.precision(4); cout<<123<<" "<<123.45678<<" "<<234.567<<endl; -------------------① cout<<"x_width="<<cout.width()<<endl; cout<<"x_fill="<<cout.fill()<<endl; cout<<"x_precision="<<cout.precision()<<endl; cout<<"-----------------------------"<<endl; cout<<"* * * x_width=10,x_file=&,x_precision=4 * * *"<<endl; cout.fill('&'); cout.width(10); cout<<123<<" "<<123.45678<<endl; cout.setf(ios::left); cout.width(10); cout<<123<<" "<<123.45678<<endl; cout<<"x_width="<<cout.width()<<endl; cout<<"x_fill="<<cout.fill()<<endl; cout<<"x_precision="<<cout.precision()<<endl; showflags(cout.flags());----------------------------------------------------------② cout.setf(ios::right|ios::unitbuf); showflags(cout.flags());----------------------------------------------------------③ return 0; } 问题一:①处的输出结果是什么,为什么? 问题二:②处的输出结果是什么,为什么? 问题三:③处的输出结果是什么,为什么? (提示:在x_flags变量中left=0x0002,right=0x0004,unitbuf=0x2000)
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值