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 mach at 2005-07-12 17:05:46 on Problem 1002
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
void Qsort(int left,int right,int a[100000])
{int i,j;
 i=left;  
 j=right; 
 int pivot = a[left]; 
 while(i<j) {
 while(i<j && pivot <= a[j]) j--; 
 if(i<j) a[i++] = a[j];   
 while(i<j && pivot > a[i]) i++;   
 if(i<j) a[j--]=a[i];   
 }
 a[i]=pivot; 
 if(i-left>1) Qsort(left,i-1,a);
 if(right-j>1) Qsort(j+1,right,a);
}
int main()
{int  i,n,m,j,k,flag=1;
 char a[100],b[8];
 char con[27]="22233344455566677778889999";
 int  *c;
 c=(int*)malloc(100000*sizeof(int));
 scanf("%d",&n);
 for(i=0;i<n;i++)
 {scanf("%s",a);k=0;
  for(j=0;a[j];j++)
  {if(a[j]>='A'&&a[j]<='Z') {b[k]=con[a[j]-'A'];k++;continue;}
   if(a[j]>='0'&&a[j]<='9')  {b[k]=a[j];k++;}
  }
   c[i]=atoi(b);
 }
 Qsort(0,n-1,c);
 for(i=0;i<n;)
 {m=1;
  for(j=i+1;j<n&&c[i]==c[j];j++)  m++;
   if(m>1) 
   {flag=0;
    printf("%03d-%04d %d\n",c[i]/10000,c[i]%10000,m);
   }
  i=j;
 }
 if(flag) printf("No duplicates.\n");
 free(c);
 return 1;
}

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