关于日期的输出呢,看起来是挺简单的,但当题目要求输入比如: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