月和日在输入的时候怎么分开啊,我只能完成一种情况

img


#include
int main(void)
{
int y,m,d;
scanf("%02d-%02d-%d",&m,&d,&y);
printf("%d-%02d-%02d",y,m,d);
return 0;
}

#include  <stdio.h>
int main()
{
    int a,b,c;
    scanf("%d-%d-%d",&a,&b,&c);
    if(a>1000)
          printf("%04d-%02d-%02d",a,b,c);
    else if(b>1000)
          printf("%04d-%02d-%02d",b,a,c);
    else
          printf("%04d-%02d-%02d",c,a,b);
    return 0;
}


#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main()
{
  char str[11];
  int i, dat[3];
  scanf("%s",str);
  dat[0] = atoi(strtok(str, "-"));
  dat[1] = atoi(strtok(NULL, "-"));
  dat[2] = atoi(strtok(NULL, "-"));
  if (dat[1] > 100)
  {
    i = dat[0];
    dat[0] = dat[1];
    dat[1] = i;
  }
  else if(dat[2]>100)
  {
    i = dat[2];
    dat[2] = dat[1];
    dat[1] = dat[0];
    dat[0] = i;
  }
  printf("yy=%d mm=%d dd=%d\n", dat[0],dat[1],dat[2]);
  return 0;
}