C语言输入输出格式

Python013

C语言输入输出格式,第1张

在C语言中,输入使用的是scanf函数,scanf函数的格式为scanf(格式控制,地址列表),如scanf("%d"&a)。

输出使用的是printf()函数,printf函数的格式为printf(格式控制,输出表列),如printf("%d\n",a)。在输出时可以在"%"和字母之间插进数字表示最大场宽。可以根据需要输出数字的位数来决定“%”前的数值。

如:%3d表示输出3位整型数, 不够3位右对齐。

%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为7,小数点占一位, 不够9位右对齐。

%8s 表示输出8个字符的字符串, 不够8个字符右对齐。

扩展资料

C语言输入输出时的规则:

一、格式说明符个数与输入数据个数不相等的情况:

当我们输入数据时,只要没有按回车键,所输入的数据都还存放在缓冲区,并没有存入变量中。按【Enter】键后,scanf()函数才会从缓冲区中取走数据。缓冲区是一个先进先出的队列,即取走数据的时候,遵循先输入的数据先取走的原则。

scanf函数的格式说明符有几个就要取几次数据,只要碰到格式说明符就必须把数据取走,至于是不是要把取走的数据存放起来,就得看数据列表中的数据个数。没取完的数据继续留在缓冲区中。

二、宽度输出的情况:

1、在%和格式字符之间加入一个整数来控制输出数据所占宽度

2、在%和格式字符f之间加入一个“整数1. 整数2”来控制输出数据的格式。

整数1:整个输出数据占的总宽度

整数2:输出实数的小数部分的个数

注意:先用整数2处理小数部分,再用整数1处理整个数据,包括已处理好的小数部分

三、宽度输入的情况:

宽度输入指的是在%和格式说明符d之间加入一个整数。如:scanf("%2d", &x)

注意:

1、%d与%1d是不同的,它们具有不同的含义。

2、 当宽度小于数据的实际宽度时,截取指定宽度的部分作为一个数进入缓冲区,再将剩余部分作为另一个数放入缓冲区。

参考资料来源:百度百科——scanf

百度百科——printf()

写下这篇文章,主要是记载自己的学习心得,同时也分享给所有正在学习c语言的小白们。

关于日期的输出呢,看起来是挺简单的,但当题目要求输入比如:2019--10--01或者2019--09--10,正在学习c语言的人(包括我)就会卡在这,如何将1~9的“0”一起输出呢?

其实很简单,这里巧用“0”,既然题目说到0n(n代表1~9月或者日期),那我们肯定要用到“0”呀,那这个“0”该放哪呢,又是个问题。

但不用慌,想想我们之前的输出,就应该知道这个“0”应该这样 printf("%02d",&n), 而那个2怎么来的呢,就是代表整个宽度为2(因为月份,日期最大占两位数),即%04d表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位。

因此,在日期时应该: printf("%d %02d %02d",year,month,day)

下面直接放题:

按 yyyy/mm/dd 形式从键盘输入一个日期,按yyyy--mm--dd 形式输出该日期,其中 yyyy, mm, dd 分别表示年、月、日。

输入:

2019/10/01

输出:

2019--10--01

#include<stdio.h>

int main()

{

int year,month,day

scanf("%d/%d/%d",&year,&month,&day)

printf("%d--%02d--%02d",year,month,day)

}

没错这就可以了,这篇呢只是为了巩固做题的思路,以及给所有的小白看的。当然,还需要大佬们的指导。