| ||||||||||
| 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 | |||||||||
C的AC代码,提醒:输入的字符数组长度至少50(40肯定不行)/* 1002 */
#include <stdio.h>
#include <stdlib.h>
#define L 100000
int cmp(const void * a, const void * b)
{
return *(int *)a - *(int *)b;
}
int
main()
{
int tel[L];
char temp[100], c;
int n, flag = 0;
int i, j;
int iTemp, num;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s", temp);
j = 0;
iTemp = 0;
while (temp[j] != '\0') {
c = temp[j++];
if (c != '-') {
if (c >= '0' && c <= '9')
c -= '0';
else
switch(c) {
case 'A': case 'B': case 'C':
c = 2;
break;
case 'D': case 'E': case 'F':
c = 3;
break;
case 'G': case 'H': case 'I':
c = 4;
break;
case 'J': case 'K': case 'L':
c = 5;
break;
case 'M': case 'N': case 'O':
c = 6;
break;
case 'P': case 'R': case 'S':
c = 7;
break;
case 'T': case 'U': case 'V':
c = 8;
break;
case 'W': case 'X': case 'Y':
c = 9;
break;
}
iTemp = iTemp*10 + c;
}
}
tel[i] = iTemp;
}
/* 操作 */
qsort(tel, n, sizeof(int), cmp);
/* Output */
for (i = 0, tel[n] = 0; i < n; i++) {
num = 1;
while (tel[i] == tel[i+1]) {
num++;
i++;
}
if (num > 1) {
printf("%03d-%04d %d\n", tel[i]/10000, tel[i]%10000, num);
flag = 1;
}
}
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