可以把年月日放在数组里,针对格式写三种scanf 然后判断数组里年所在的下标在哪个位置对应输出写好的scanf
#include <stdio.h>
int main()
{
int date[3];
scanf("%d-%d-%d",&date[0],&date[1],&date[2]);
int i=0;
int max=date[0];
int ret=0;
for(i=0;i<3;i++)
{
if(max<date[i])
{
max=date[i];
ret=i;
}
}
if(ret==0)
{
printf("%d-%02d-%02d",date[0],date[1],date[2]);
}
else if(ret==1)
{
printf("%d-%02d-%02d",date[1],date[0],date[2]);
}
else
{
printf("%d-%02d-%02d",date[2],date[0],date[1]);
}
return 0;
}
代码如下,有帮助的话采纳一下哦!
因为给的输入格式月肯定在日前面,所以就if条件语句就可。
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d-%d-%d",&a,&b,&c);
if(a>31)
printf("%4d-%02d-%02d",a,b,c);
if(b>31)
printf("%4d-%02d-%02d",b,a,c);
if(c>31)
printf("%4d-%02d-%02d",c,a,b);
}
scanf里面d和y换一下位置就行了,你都写反了