C语言 怎么输入YYYY⼀MM⼀DD这种格式的日期

2025-04-05 13:03:51
推荐回答(4个)
回答1:

可以参考下面的代码:

#include

main()

{int y,m,s; 

while(1){

scanf("%d/%d/%d",&y,&m,&s);

printf("%d--%d--%d\n\n",y,m,s);

}

}

扩展资料:

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

C语言frexp()函数:提取浮点数的尾数和指数部分

C语言modf()函数:提取浮点数的小数和整数部分

参考资料来源:百度百科-c语言

回答2:

#include
#include

int main(void)
{
int y,m,d;
char a[5],b[5],c[5];
scanf("%4[0-9]%*c%4[0-9]%*c%4[0-9]",a,b,c);
if (strlen(a)==4) {
sscanf(a,"%d",&y);
sscanf(b,"%d",&m);
sscanf(c,"%d",&d);
}
else if (strlen(c)==4) {
sscanf(a,"%d",&m);
sscanf(b,"%d",&d);
sscanf(c,"%d",&y);
}
else y=m=d=0;
printf("%4d/%02d/%02d\n",y,m,d);
return 0;
}
上面的程序可以按yyyy/mm/dd,mm/dd/yyyy和yyyy,mm,dd、mm,dd,yyyy格式输入

回答3:

#include
#include

int main(void)
{
int y,m,d;
char a[5],b[5],c[5];
scanf("%4[0-9]%*c%4[0-9]%*c%4[0-9]",a,b,c);
if (strlen(a)==4) {
sscanf(a,"%d",&y);
sscanf(b,"%d",&m);
sscanf(c,"%d",&d);
}
else if (strlen(c)==4) {
sscanf(a,"%d",&m);
sscanf(b,"%d",&d);
sscanf(c,"%d",&y);
}
else y=m=d=0;
printf("%4d/%02d/%02d\n",y,m,d);
return 0;
}
上面的程序可以按yyyy/mm/dd,mm/dd/yyyy和yyyy,mm,dd、mm,dd,yyyy格式输入

回答4:

你可以自己写一个字符串解析的代码就可以了。你可以说说具体要求我给你说怎么写。