|
发表于 2012-11-29 20:54:33
|
显示全部楼层
- //排序太麻烦
- //我的想法大概是这个样子的
- //假定你有10K个号码,都存在文件中
-
- long outPhoneNumber[9999999999]//首先手机号码第一位都是1,所以只管最后的10位,省点空间
- long inPhoneNumber[10000]//这是号码个数
- //以下是输入过程
- long i,j;
- for(i=0;i<10000;i++)
- {
- scanf("%d",&j); //具体的文件输入省略,假设就是这样的
- j-=10000000000;
- inPhoneNumber[i]=j;
- }
- //以下是处理过程
- for(i=0;i<9999999999;i++)
- outPhoneNumber[i]=0;
- for(i=1;i<10000;i++)//真正的处理,两行就行了
- outPhonNumber[inPhoneNumber[i]]++;
-
- //以下是输出过程
- for(i=0;i<9999999999;i++)
- {
- if(outPhoneNumber[i]>1)
- printf("%d%l\n",1,outPhoneNumber[i]);
- }
-
复制代码
|
|