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 |
小弟总是WA啊,希望各位路过的大侠帮忙看下代码,注释比较详细的,谢谢了,出门靠朋友嘛#include <stdio.h> #include <stdlib.h> int map(char ch) { if(ch=='0') return 0; else if(ch=='1') return 1; else if(ch=='A' || ch=='B' || ch=='C' || ch=='2') return 2; else if(ch=='D' || ch=='E' || ch=='F' || ch=='3') return 3; else if(ch=='G' || ch=='H' || ch=='I' || ch=='4') return 4; else if(ch=='J' || ch=='K' || ch=='L' || ch=='5') return 5; else if(ch=='M' || ch=='N' || ch=='O' || ch=='6') return 6; else if(ch=='P' || ch=='R' || ch=='S' || ch=='7') return 7; else if(ch=='T' || ch=='U' || ch=='V' || ch=='8') return 8; else if(ch=='W' || ch=='X' || ch=='Y' || ch=='9') return 9; else return -1; } int convert(char s[100]){//把输入字符串转换为数字 int i=0; int number=0,k=1000000; while(s[i]!='\0'){ if(map(s[i])!=-1){number+=k*map(s[i]);k/=10;} ++i; } return number; } int partition(int *L,int low,int high) { int key; L[0]=L[low]; key=L[low]; while(low<high){ while(low<high && L[high]>=key)--high; L[low]=L[high]; while(low<high && L[low]<=key)++low; L[high]=L[low]; } L[low]=L[0]; return low; } void Qsort(int *L,int low,int high)//快速排序 { int loc; if(low<high){ loc=partition(L,low,high); Qsort(L,low,loc-1); Qsort(L,loc+1,high); } } main() { char ss[100],gg[8]; int *cc,n,i,j,k=0,num=1; scanf("%d",&n); cc=(int *)malloc((n+1)*sizeof(int)); for(i=0;i<=n;++i) cc[i]=0; for(i=1;i<=n;++i){ scanf("%s",ss); cc[i]=convert(ss); } Qsort(cc,1,n);//排好顺序 printf("\n"); for(i=1;i<=n;++i){//输出 if(cc[i]==cc[i+1])num++; if(num>1 && cc[i]!=cc[i+1]) { itoa(cc[i],gg,10);//把数字换为字符 if(cc[i]/1000000!=0){ for(j=0;j<3;++j) printf("%c",gg[j]); printf("-"); for(j=3;j<=6;++j) printf("%c",gg[j]); printf(" %d\n",num); } else {//首位为0的情况 printf("0"); for(j=0;j<2;++j) printf("%c",gg[j]); printf("-"); for(j=2;j<6;++j) printf("%c",gg[j]); printf(" %d\n",num); } num=1; if(k==0)k=1; } } if(k==0)printf("No duplicates"); getch(); } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator