第1个回答 2020-04-16
#include<stdio.h>
int main()
{
int d, m, y;
printf("Enter date (mm/dd/yy):");
char *months[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
if ((scanf("%d/%d/%d", &m, &d, &y)!=3)||y<0||y>99||d<0||m<0||m>12)
{
printf("Input error!\n");
return 0;
}
int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
if((y+1900)%4==0)
{
a[2]++;
}
if(d>a[m])
{
printf("Input error!\n");
return 0;
}
printf("Dated this ");
switch (d % 10)
{
if(d<20&&d>10)
{
goto DEFAULT;
}
case 1:
if (d / 10 == 1)
goto DEFAULT;
printf("%dst ", d);
break;
case 2:
if (d / 10 == 1)
goto DEFAULT;
printf("%dnd ", d);
break;
case 3:
if (d / 10 == 1)
goto DEFAULT;
printf("%drd ", d);
break;
default:
DEFAULT:
printf("%dth ", d);
break;
}
printf("day of %s, 20%.2d.\n", months[m - 1], y);
return 0;
}