POJ1002

转化为七位数字

#include<iostream>
#include<map>
#include<cstring>
#include<cstdio>
using namespace std;
char buf[105];
int num[30]=
{
    2,2,2,
    3,3,3,
    4,4,4,
    5,5,5,
    6,6,6,
    7,0,7,7,
    8,8,8,
    9,9,9
};
map<int ,int>s;
int main()
{
    int n;
   scanf("%d", &n);
    bool flag=false;
   for(int ii=0;ii<n;ii++)
    {
      scanf("%s", &buf);
       int c=0;

       for(int i=0;buf[i];i++)
       {
           if(isdigit(buf[i]))
            c=c*10+(buf[i]-'0');
          else if(isalpha(buf[i]))
            c=c*10+num[buf[i]-'A'];
       }
       s[c]++;
    }
       for(map<int,int>::iterator it=s.begin();it!=s.end();it++)
       {
         if(it->second>1)
         {
             flag=true;
             printf("%03d-%04d %d
",it->first/10000,it->first%10000,it->second);
         }
       }
       if(!flag)
        puts("No duplicates.");
    return 0;
}
Close
原文地址:https://www.cnblogs.com/sxy-798013203/p/5933888.html