sacnf
与printf
在头文件cstdio
中,sacnf
与printf
在数据规模较大时效率高于cin
与cout
需要注意的是scanf
变量需要取地址
1.格式化输出-保留小数位
printf
输出小数时默认保留6位小数位,但有时题目输出要求固定的小数位,printf
会进行四舍五入
double a=6.6666666;
printf("%.0lf",a);//保留0位小数
printf("%.2lf",a);//保留2位小数
2.格式化输出-自动补零
不足某位数时printf
可以在前0,常用在日期格式化
printf("%02d",x);//当x不足2位将自动补0
3.格式化输出-按8/16进制输出
printf("%o",10);//按8进制输出
printf("%x",10);//按16进制输出,字母为小写
printf("%X",10);//按16进制输出,字母为大小
4.格式化输入
当已知输入格式时,运用scanf
获取需要的值
int y,m,r,h,i,s;
scanf("%d-%d-%d %d:%d:%d",&y,&m,&r,&h,&i,&s);
5.格式控制符
string无法使用sacnf
输入,可以用printf
输出,但需要.c_str()
printf("%s",s.c_str());
控制符 | 说明 |
---|---|
%d |
int |
%lf |
double |
%c |
char |
%s |
string |
%o |
八进制 |
%x /%X |
十六进制 |