| ||||||||||
| 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 | |||||||||
1002题解题心得首先要考虑输入的电话可能可是以0开头的。如000-4111
其次难的地方就在统计电话出现的次数,这个地方很容易出错,我最后真的不想去统计了,就用了map来搞定它
还有"No duplicates."是一个陷阱,假如你没看见"s"后面还有个句号,你就郁闷去吧。
下面提供统计电话(这里我把电话转成了整数num[i],再对其进行统计)出现次数的程序片段:(这是我在网上搜到的,是能通过的)
for(int i = 0; i < n;){
count = 1; //电话出现的次数count
for(j = i+1; j < n && num[i] == num[j]; j++){
count++;
}
if(count > 1){
printf("%03d-%04d %d\n", num[i]/10000, num[i]%10000, count); //特别要注意printf里的%03d
flag = 1;
}
i = j;
}
if(0 == flag){
printf("No duplicates.\n");
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator