您的位置:首页 > 其它

Read Phone Number

2014-02-16 12:39 204 查看
/*
* =====================================================================================
*
*       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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法