1、右对齐输出: %md, m代表右偏移位数
2、左对齐输出:%-md, 负号代表左偏移,m代表偏移位数
3、保留几位小数:%.mf, 小数点+m表示精确浮点数后m位
4、右对齐,不足位补零:%0md, m代表右偏移位数,当变量不足m位时,用零补齐
代码实现:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main()
{
int i = 9;
double t = 9.1567;
// 向右偏移
printf("%8d\n", i);
printf("%9d\n", i);
printf("%10d\n", i);
printf("%11d\n", i);
printf("==============\n");
// 右对齐,但不足位用零补齐
printf("%08d\n", i);
printf("%09d\n", i);
printf("%010d\n", i);
printf("%011d\n", i);
printf("==============\n");
// 向左偏移,最后输出5
printf("%-10d5\n", i);
printf("%-9d5\n", i);
printf("%-8d5\n", i);
printf("%-7d5\n", i);
printf("==============\n");
// 小数位保留:同时会进行四舍五入的操作
printf("%f\n", t);
printf("%.0f\n", t);
printf("%.1f\n", t);
printf("%.2f\n", t);
printf("%.3f\n", t);
printf("==============\n");
return 0;
}
执行结果:
9
9
9
9
==============
00000009
000000009
0000000009
00000000009
==============
9 5
9 5
9 5
9 5
==============
9.156700
9
9.2
9.16
9.157
==============
算法题中多需要一定格式化的数据输出,可能会用到。另外也可实现一些特定的图形打印,挺有趣的。
谢谢阅读