Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

请各位看看哪错了,先谢谢了

Posted by demo at 2008-06-12 10:19:15 on Problem 1002
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct
{
	char  b[8];
	int n;
}ad;

ad z[100010];
int cmp(const void *p1,const void *p2)
{
	ad *m,*n;
	m=(ad *)p1;
	n=(ad *)p2;
	return strcmp(m->b,n->b);
}

char conv(char c)
{
	if(c=='A'||c=='B'||c=='C') return '2';
	if(c=='D'||c=='E'||c=='F') return '3';
	if(c=='G'||c=='H'||c=='I') return '4';
	if(c=='J'||c=='K'||c=='L') return '5';
	if(c=='M'||c=='N'||c=='O') return '6';
	if(c=='P'||c=='R'||c=='S') return '7';
	if(c=='T'||c=='U'||c=='V') return '8';
	if(c=='W'||c=='X'||c=='Y') return '9';
}

int main()
{
	int i,j,k,l,p,flag,m,t,s;
	char tem[50],a[1000];
	while (scanf("%d",&m)==1)
	{
	 	 l=0;flag=0;
	for(i=0;i<m;i++)
	{	
	scanf("%s",a);
		t=strlen(a);
		k=0;
		for(j=0;j<t;j++)
		{
			if((a[j]>='0')&&(a[j]<='9'))
				tem[k++]=a[j];
			else if((a[j]>='A')&&(a[j]<'Z'))
				tem[k++]=conv(a[j]);
		}
			tem[k]='\0';
			for(p=0;p<l;p++)
				if(strcmp(tem,z[p].b)==0)
				{
					z[p].n++;
					break;
				}
			if(p==l) 
				{
					strcpy(z[l].b,tem);
				    z[l].n=1;
					l++;
				}
	}
	s=0;
	for(i=0;i<l;i++)
	{
		if(z[i].n>1)
			z[s++]=z[i];
	}

	qsort(z,s,sizeof(z[0]),cmp);
	for(i=0;i<s;i++)
	{
			for(j=0;j<8;j++)
			{
				printf("%c",z[i].b[j]);
				if(j==2)
			printf("-");
			}
			printf(" %d\n",z[i].n);
			flag=1;
	}
		if(flag==0)
			printf("No duplicates.\n");
	}
		return 0;
}
		








Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator