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

好郁闷啊!没辙了!拜求赐教!为什摸wa

Posted by 00400000 at 2005-03-26 12:59:53 on Problem 1002
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100000
int cmp(const void *t1,const void *t2)                                      
{
	int *a,*b;  
	a=(int *)t1; b=(int *)t2;  
	if (*a>*b) return 1;  
	if (*a<*b) return -1;  
	return 0;  
}  
void main()
{
	char maps[]="2223334445556667777888999\0";
    int i,j,n=0;
	long int k,k1;
	scanf("%d",&k);
	k1=k;
	int * count;
	count=new int[k];
	for(i=0;i<k;i++)
		count[i]=1;
	char telnum1[8];
	char * telnum2;
	int telnum[MAX];
	while(k!=0)
	{
		telnum2=new char[100];
		scanf("%s",telnum2);
		i=0;
		j=0;
		while(j<7)
		{
			if('0'<=telnum2[i]&&telnum2[i]<='9')
			{
				telnum1[j]=telnum2[i];
				j++;
			}
			else if('A'<=telnum2[i]&&telnum2[i]<'Z')
			{
				telnum1[j]=maps[telnum2[i]-'A'];
				j++;
			}
			i++;
		}
		telnum[n]=atoi(telnum1);
		n++;
		k--;
		delete[]telnum2;
	}
	qsort(telnum,k1,sizeof(int),cmp);
	j=0;n=0;
	for(i=0;i<k1;i++)
	{
		if(telnum[i]==telnum[i+1])
			j=i;
		while(telnum[i]==telnum[i+1])
		{
			count[j]++;
			i++;
		}
		i++;
	}
	n=0;
	for(i=0;i<k1;i++)
	{
		if(count[i]>1)
		{
			printf("%d-%d %d\n",telnum[i]/10000,telnum[i]%10000,count[i]);
			n=1;
		}
	}
	if(n==0)
		printf("No duplicates.");

}


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