| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
目前已经想不到比这更优的解决方法了,有大佬可以帮我改一下吗#include<stdio.h>
#include<string.h>
int main()
{
void swop(char *p,char *q);
char a[16],b[100000][10];
char *p,*q;
char c[25]={"ABCDEFGHIJKLMNOPRSTUVWXY"};
int i,j,n,k,m;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",a);
k=0;
for(j=0;j<16;j++)
{
if(k==3)
{
b[i][k]='-';
k=k+1;
j=j-1;
continue;
}
else
{
if('0'<=a[j]&&a[j]<='9')
{
b[i][k]=a[j];
k=k+1;
continue;
}
if('A'<=a[j]&&a[j]<='Y'&&a[j]!='Q')
{
if(a[j]<81)
{
m=a[j]-65;
m=m/3;
}
else
{
m=a[j]-66;
m=m/3;
}
switch(m)
{
case 0:b[i][k]='2';k=k+1;break;
case 1:b[i][k]='3';k=k+1;break;
case 2:b[i][k]='4';k=k+1;break;
case 3:b[i][k]='5';k=k+1;break;
case 4:b[i][k]='6';k=k+1;break;
case 5:b[i][k]='7';k=k+1;break;
case 6:b[i][k]='8';k=k+1;break;
case 7:b[i][k]='9';k=k+1;break;
}
continue;
}
if(a[j]=='-')
continue;
if(a[j]=='\0')
{
b[i][k]='\0';
break;
}
}
}
}
m=n-1;
for(j=0;j<n-1;j++,m--)
for(i=0;i<m;i++)
{
if(strcmp(b[i],b[i+1])>0)
{
p=&b[i][0];
q=&b[i+1][0];
swop(p,q);
continue;
}
else
continue;
}
i=0;
m=1;
for(i;i<n;i++)
{
if(strcmp(b[i],b[i+1])==0)
{
m=m+1;
continue;
}
else
{
if(m>1)
printf("%s %d\n",b[i],m);
m=1;
continue;
}
}
return 0;
}
void swop(char *p,char *q)
{
char m;
int i;
for(i=0;i<8;i++)
{
m=*(p+i);
*(p+i)=*(q+i);
*(q+i)=m;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator