Read Phone Number

来源:互联网 发布:ecshop 打印sql语句 编辑:程序博客网 时间:2024/06/05 20:45
/*
 * ===================================================================================== * *       Filename:  readphonenumber.c * *    Description:   * *        Version:  1.0 *        Created:  2014年02月16日 10时16分13秒 *       Revision:  none *       Compiler:  gcc * *         Author:  Wenxian Ni (Hello World~), niwenxianq@qq.com *   Organization:  AMS/ICT * * ===================================================================================== */#include<stdio.h>#include<string.h>#include<stdlib.h>void PrintNumber(char n, int m){    int i;    switch(m)    {        case 1:            break;        case 2:            printf("double ");            break;        case 3:            printf("triple ");            break;        case 4:            printf("quadruple ");            break;        case 5:            printf("quintuple ");            break;        case 6:            printf("sextuple ");            break;        case 7:            printf("septuple ");            break;        case 8:            printf("octuple ");            break;        case 9:            printf("nonuple ");            break;        case 10:            printf("decuple ");            break;        default:            break;    }    switch(n)    {        case '0':            printf("zero");            break;        case '1':            printf("one");            break;        case '2':            printf("two");            break;        case '3':            printf("three");            break;        case '4':            printf("four");            break;        case '5':            printf("five");            break;        case '6':            printf("six");            break;        case '7':            printf("seven");            break;        case '8':            printf("eight");            break;        case '9':            printf("nine");            break;        defalut:            break;    }}void ReadNumber(char *q, int n){    if(n==1)    {        PrintNumber(*q, 1);        return ;    }    char *p = q+1;    int i = 1;    int m = 1;    for(i=2;i<=n;p++,i++)    {        if(*p==*(p-1))        {            m++;        }        else        {            PrintNumber(*(p-1), m);            printf(" ");            m = 1;        }    }    PrintNumber(*(p-1), m);}int main(){    int T;    int ncase;    int lens;    char numberPhone[200];    char splitNumber[400];    char *buf, *nub, *spl;    freopen("in.in","r",stdin);    freopen("out.in","w",stdout);    while(~scanf("%d",&T))    {        ncase=1;        while(ncase!=T+1)        {            scanf("%s",numberPhone);            scanf("%s",splitNumber);            printf("Case #%d: ",ncase);            nub = numberPhone;            spl = splitNumber;            buf = strstr(spl,"-");            lens = 0;            while(buf!=NULL)            {                buf[0]='\0';                nub += lens;                lens = atoi(spl);                ReadNumber(nub,lens);                spl = buf + 1;                buf = strstr(spl,"-");                printf(" ");            }            nub += lens;            lens = atoi(spl);            ReadNumber(nub,lens);            printf("\n");            ncase++;        }    }    return 0;}
小数据可过,大数据还要改正下

http://code.google.com/codejam/contest/2924486/dashboard

0 0
原创粉丝点击