- 分享
格式化输入输出scanf和printf
- @ 2026-10-23 13:17:46
#include<cstdio>
//格式化输入scanf,格式化输出printf,若要使用必须包含头文件#include<cstdio>
//也可以用加速器:
//ios::sync_with_stdio(false);
//cin.tie(0),cout.tie(0);
using namespace std;
int main()
{
//PS:当数据量达到10^6次输入或者输出时,必须使用scanf和printf
//使用scanf、printf输入输出时 ,每种数据类型有其对应的格式控制符
// int对应%d,float对应 %f,double对应 %lf,char对应 %c,long long对应 %lld
//格式控制符应与变量的数据类型一一对应,如果不一致,编译不会报错,但结果将不正确
int a,b;
float f;
double d;
char c;
long long la;
//格式化输入语句 基本格式:scanf("格式控制字符串",&变量名);其中&为取地址符,也就是变量所处的地址
scanf("%d",&a);
scanf("%f",&f);
scanf("%lf",&d);
scanf("%c",&c);
scanf("%lld",&la);
//多个变量的输入
scanf("%d%d",&a,&b);
//在输入多个数值类型时,要用空格或者回车键作为每两个输入数之间的间隔
scnaf("a=%d,b=%d",&a,&b);
//scanf语句的格式控制串中有非格式字符,则在输入时必须原样输入,否则会造成乱码
//例如本条scanf语句中“”中的a=和b=就是非格式字符,所以在输入时必须原样输入
//格式化输出语句,基本格式:printf("格式控制字符串" ,输出列表)
printf("%d",a);
printf("%f",f);
printf("%lf",d);
printf("%c",c);
printf("%lld",la);
//控制小数的输出位数
printf("%.4lf",f);//保留4位小数
printf("%.2lf",d);//保留2位小数
//printf语句中的\n为换行
printf("%d\n",a);//输出int类型的变量a并换行
//多个变量的输出
printf("%d%d",a,b);//输出int型变量a和b,同样需要用空格隔开
//与scanf相似,当格式控制符中有非格式字符时也是起到提示的作用照原样输出
printf("a=%d,b=%d",a,b)//例如a为4,b为5时,输出结果会是:a=4,b=5
//补充(了解即可):printf输出时控制输出宽度,假设int型变量a=4,b=5,double型变量d=1.0
printf("10.0/6.0=%.3f",10.0/6.0);
printf("10.0/6.0=%9.3f",10.0/6.0);//表示输出的域宽为9,保留3位小数,若域宽不够,则左边补空格
printf("%05d",a);//表示输出域宽为5,若域宽不够,则左边补数字0
//域宽主要是可以用来控制右对齐,如果输出数据的宽度小于域宽,则会用空格或者0来填补左侧缺省宽度
//scanf语句只能用来输入,并不能进行精度控制和域宽设置,不要和printf搞混
return 0;
}
1 条评论
-
lianghaoning LV 7 @ 2026-10-27 16:40:37?
- 1