%d,%s,%x,%f,%.100f,%的意思

  1. 格式说明由“%”和格式字符组成,如%df等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。 <br />**格式字符有d,o,x,u,c,s,f,e,g等。 <br />如**<br />**%d整型输出****,%ld长整型输出,**<br />**%o以八进制数形式输出整数,**<br />**%x以****十六进制数****形式输出****整数****,或输出字符串的****地址****。**<br />**%u以十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误。**<br />**%c用来输出一个字符,**<br />**%s用来输出一个字符串,**<br />**%f用来输出实数,以小数形式输出,默认情况下保留小数点6位。**<br />**%.100f用来输出实数,保留小数点100位。**<br />**%e以指数形式输出实数,**<br />**%g根据大小自动选f格式或e格式,且不输出无意义的零。**

% 2d是printf()函数的输出格式中的**%a.bf,**表示将数字按宽度为
2,采用右对齐方式输出,**实际宽度超出2则以实际宽度输出若数据位数不到2位,则左边补空格。**如果是%-5d那么就是左对齐,右边补空格。
输出宽度指的是 屏幕上的数值需要多少位数。比如100 你要求输出宽度是5 则屏幕显示100.00
如:
1、“%8d ”要求输出宽度为8,而a值为15只有两位故补三个空格。
2、“%6.3lf”指定输出宽度为6,精度为3,由于**实际长度超过6故应该按实际位数输出小数位数超过3位部分被截去**。
3、“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。
以下几种控制格式符的头文件为:

  1. #include <iomanip>

1.输出保留小数点后几位

  1. cout<<setiosflags(ios::fixed)<<setprecision(n);
  2. //保留几位n就是几

2.保留n位有效数字

  1. cout << setprecision(n);
  2. //保留几位n就是几

3.设置输出宽度为n

  1. cout<<setw(n);
  2. //宽度为n