考虑十位是1时的特殊情况,其他都是正常的。
#include<stdio.h>
int main()
{
int cas,n,n1;
scanf("%d",&cas);
while(cas--)
{
scanf("%d",&n);
n1=(n/10)%10;
if(n%10==1&&n1!=1) printf("%dst\n",n);
else if(n%10==2&&n1!=1) printf("%dnd\n",n);
else if(n%10==3&&n1!=1) printf("%drd\n",n);
else printf("%dth\n",n);
}
return 0;
}