如何格式化输出和输入

阅读量: 288 编辑

除了 coutcin 可以实现输出和输入,我们也可以使用 printfscanf 来实现输出和输入。

printfscanf 是C语言中的函数,但是他们可以按照指定的格式进行输出和输入。在时效上,他们的运行效率要更高、更快。

在C++中,主要使用cout和cin居多,printf和scanf也要会用。

一、printf 实现输出

#include <cstdio>

printf("hello world"); //输出内容,相当于 cout << "hello world"  

使用 \n来实现换行操作。

二、printf 格式化输出

借助 % 完成格式化输出。每个%对应一个占位,按从左到右的顺序把对应位置上变量的数据输出出来。

int nianLing = 10;
printf("年龄是:%d", nianLing);

float yingYuChengJi = 95.5;
printf("年龄是:%d,英语成绩是:%f", nianLing, yingYuChengJi);

不同数据类型,对应的输出格式控制符不一样,参考下方表格。

int a = 100;				printf("%d", a);	//100
long long a = 20000;		printf("%lld", a);	//20000
float a = 3.1415926;		printf("%f", a);	//3.1415926
float a = 3.1415926;		printf("%.3f", a);	//3.142
double a = 1.0/3;			printf("%lf", a);	//0.33333
double a = 1.0/3;			printf("%.3lf", a);	//0.333
char ch = 'A';				printf("%c", ch);	//A
char arr[10] = "hello";		printf("%s", arr);	//hello

int a = 100;				printf("%5d", a);	//输出宽度为5,右对齐,不够补空格。  100
int a = 100;				printf("%-5d", a);	//输出宽度为5,左对齐,不够补空格。100  
int a = 100;				printf("%05d", a);	//输出宽度为5,右对齐,不够补0。00100
int a = -100;				printf("%+d", a);	//无论是正数还是负数,都要把符号输出

三、scanf 实现输入

int nianLing;
float yingYuChengJi;

scanf("%d", &nianLing); //输入内容,相当于 cin >> nianLing

scanf("%d, %f", &nianLing, &yingYuChengJi); //相当于 cin >> nianLing >> yingYuChengJi;

scanf 区别于cin的是:

1、cin使用换行或空格区分数据输入到不同的变量;

2、scanf使用英文的逗号,区分数据输入到不同的变量,并用&符号将数据赋值到变量中;

四、编程练习

scanf 输入小明同学的:

语文成绩、数学成绩、英语成绩,并计算这三门成绩的总和?

printf输出。

// 爱码岛编程
#include <cstdio>

using namespace std;

int main(){
	
	int nianLing = 15;
	float yingYuChengJi = 95.5;
	printf("年龄是:%d,英语成绩是:%f", nianLing, yingYuChengJi); 
	
	printf("\n请输入您的年龄:");
	scanf("%d", &nianLing);
	printf("\n您输入的年龄是:%d", nianLing); 
	
	printf("\n请输入您的年龄和英语成绩:");
	scanf("%d, %f", &nianLing, &yingYuChengJi);
	printf("\n您输入的年龄是:%d,您输入的英语成绩是:%f", nianLing, yingYuChengJi); 
	
	return 0;
}
爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司