| ||||||||||
| 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阿。C语言的。感谢万分#include<stdio.h>
#include<stdlib.h>
void input(long int s[],int n)
{
int map[]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
char s1[100];
int i,j;
for(i=0;i<n;++i)
{
scanf("%s",s1);
s[i]=0;
for(j=0;j<100;++j)
{
if(s1[j]!='-')
{
if(s1[j]>='A'&&s1[j]<='Z')
s[i]=s[i]*10+map[s1[j]-'A'];
else if(s1[j]>='a'&&s1[j]<='z')
s[i]=s[i]*10+map[s1[j]-'a'];
else if(s1[j]>='0'&&s1[j]<='9')
s[i]=s[i]*10+(s1[j]-'0');
}
if(s[i]>999999)
break;
}
}
}
void output(long int s[],int n)
{
int m=1,i,k,l=0;
for(i=0;i<=n;++i)
{
k=0;
if(s[i]==s[i+1])
m=m+1;
else
k=1;
if(m!=1&&k==1)
{
printf("%d%d%d-%d%d%d%d %d\n",s[i-1]/1000000,(s[i-1]%1000000)/100000,
(s[i-1]%100000)/10000,(s[i-1]%10000)/1000,(s[i-1]%1000)/100,
(s[i-1]%100)/10,s[i-1]%10,m);
l=1;
m=1;
}
}
if(l==0)
printf("No duplicates. \n");
}
int cmp(const void *a,const void *b)
{
return *(int *)a - *(int *)b;
}
main()
{
long int s[100001];
int n;
scanf("%d",&n);
input(s,n); //输入电话号码
qsort(s,n,sizeof(s[0]),cmp); //电话号码排序
output(s,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