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> char str[50]; int phone[100000]; int num[100000]; void tran(char *s,int n) { int i,j; for(i=0,j=0;j<7;i++) { if(s[i]>='0'&&s[i]<='9') { phone[n]=phone[n]*10+s[i]-'0'; j++; } else if(s[i]>='A'&&s[i]<'Z') { j++; switch(s[i]) { case 'A':case 'B':case 'C': phone[n]=phone[n]*10+2; break; case 'D':case 'E':case 'F': phone[n]=phone[n]*10+3; break; case 'G':case 'H':case 'I': phone[n]=phone[n]*10+4; break; case 'J':case 'K':case 'L': phone[n]=phone[n]*10+5; break; case 'M':case 'N':case 'O': phone[n]=phone[n]*10+6; break; case 'P':case 'R':case 'S': phone[n]=phone[n]*10+7; break; case 'T':case 'U':case 'V': phone[n]=phone[n]*10+8; break; case 'W':case 'X':case 'Y': phone[n]=phone[n]*10+9; break; } } } } void quick_sort(int *a,int low,int heigh) { int i=low,j=heigh,temp=a[low],swap=num[low]; while(i<j) { while(i<j&&temp<=a[j]) j--; if(i<j) { a[i]=a[j]; num[i]=num[j]; i++; } while(i<j&&a[i]<temp) i++; if(i<j) { a[j]=a[i]; num[j]=num[i]; j--; } } a[i]=temp; num[i]=swap; if(low<i) quick_sort(a,low,i-1); if(i<heigh) quick_sort(a,j+1,heigh); } void show(int t) { printf("%d-",phone[t]/10000); printf("%d %d\n",phone[t]%10000,num[t]); } int main() { int sj,i,j,n=0,flag=0; scanf("%d",&sj); for(i=0;i<sj;i++) { num[i]=0; } for(i=0;i<sj;i++) { scanf("%s",&str); phone[n]=0; tran(str,n); num[n]=1; n++; for(j=0;j<n-1;j++) { if(phone[j]==phone[n-1]) { num[j]++; n--; break; } } } quick_sort(phone,0,n-1); for(i=0;i<n;i++) { if(num[i]>1) { flag=1; show(i); } } if(flag==0) printf("No duplicates.\n"); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator