C语言格式化输入输出(关于日期)

Python033

C语言格式化输入输出(关于日期),第1张

写下这篇文章,主要是记载自己的学习心得,同时也分享给所有正在学习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)

}

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

#include <stdio.h>

#include <string.h>

int main()

{int month,b,c

scanf("%d/%d/%d",&month,&b,&c)

switch(month)

{

case 1:printf("Jan,%d,%d\n",b,c)

break

case 2:printf("Feb,%d,%d\n",b,c)

break

case 3:printf("Mar,%d,%d\n",b,c)

break

case 4:printf("Apr,%d,%d\n",b,c)

break

case 5:printf("May,%d,%d\n",b,c)

break

case 6:printf("Jun,%d,%d\n",b,c)

break

case 7:printf("Jul,%d,%d\n",b,c)

break

case 8:printf("Aug,%d,%d\n",b,c)

break

case 9:printf("Sep,%d,%d\n",b,c)

break

case 10:printf("Oct,%d,%d\n",b,c)

break

case 11:printf("Nov,%d,%d\n",b,c)

break

case 12:printf("Dec,%d,%d\n",b,c)

break

default:printf("Data Error\n")

}

return 0

}

1、函数描述:strftime()

函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。

2、函数语法:

#include

size_t

strftime(

char

*str,

size_t

maxsize,

const

char

*fmt,

struct

tm

*time

)

3、函数功能:函数按照参数fmt所设定格式将time类型的参数格式化为日期时间信息,然后存储在字符串str中(至多maxsize

个字符)。

4、函数举例:

代码输入:

#include"time.h"

#include"stdio.h"

intmain(void)

{

structtm*ptr

time_tlt

charstr[80]

lt=time(NULL)

ptr=localtime(<)

strftime(str,sizeof(str),"Itisnow%I%p",ptr)

printf("%s\n",str)

return0

}

运行结果:

It

is

now

4PM