scanf 与 printf

sacnfprintf在头文件cstdio中,sacnfprintf在数据规模较大时效率高于cincout

需要注意的是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 十六进制
posted @ 2023-01-20 19:01  咕噜噜冒泡  阅读(48)  评论(0)    收藏  举报