View Code of Problem 16

#include<stdio.h>
#include<string.h>
int main(){
int t,k,a[2],n,m,len,sum,s[10],i,j;
char str[10];
scanf("%d",&t);
while(t--){
scanf("%d",&k);
n=0;a[0]=a[1]=0;m=0;
while(1){
scanf("%s",str);
if(str[0]=='=') break;
if(str[0]>='a'&&str[0]<='z'){
	switch(str[0]){
	case 'o':
        if(m==0) a[n]=a[n]+1;
		else  a[n]=a[n]*10+1;
	    m=1;
		break;
    case 't':
		if(str[1]=='w'){
		if(m==0) a[n]=a[n]+2;
		else  a[n]=a[n]*10+2;}
		else{
		if(m==0) a[n]=a[n]+3;
		else  a[n]=a[n]*10+3;
		}
	    m=1;
		break;
    case 'f':if(str[1]=='o'){
			 if(m==0) a[n]=a[n]+4;
		      else  a[n]=a[n]*10+4;
			 }
		else{
		if(m==0) a[n]=a[n]+5;
		else  a[n]=a[n]*10+5;
		}
		m=1;
		break;
    case 's':
		if(str[1]=='i'){
			 if(m==0) a[n]=a[n]+6;
		      else  a[n]=a[n]*10+6;
			 }
		else{
		if(m==0) a[n]=a[n]+7;
		else  a[n]=a[n]*10+7;
		}
		m=1;
		break;
    case 'e':
		if(m==0) a[n]=a[n]+8;
		else  a[n]=a[n]*10+8;
	    m=1;
		break;
    case 'n':
		if(m==0) a[n]=a[n]+9;
		else  a[n]=a[n]*10+9;
	    m=1;
		break;
    case 'z':
		if(m==0) a[n]=a[n]+0;
		else  a[n]=a[n]*10+0;
	    m=1;
		break;
	default:;
	}
}
if(str[0]>='0'&&str[0]<='9'){
	len=strlen(str);
	for(i=0;i<len;i++){
	 a[n]=a[n]+str[i]-48;
	 if(str[i+1]!='\0')
		 a[n]=a[n]*10;
	}
	m=1;
}
if(str[0]=='+'){
n++;
m=0;
}
}
if(k==0)
printf("%d\n",a[0]+a[1]);
else{
sum=a[1]+a[0];

i=0;
while(sum!=0){
s[i++]=sum%10;
sum=sum/10;
}
for(j=i-1;j>=0;j--){
	switch(s[j]){
	case 1: if(j>0)
				printf("one ");
		    else
				printf("one");
			break;
    case 2:if(j>0)
				printf("two ");
		    else
				printf("two");
			break;
    case 3:if(j>0)
				printf("three ");
		    else
				printf("three");
			break;
    case 4: if(j>0)
				printf("four ");
		    else
				printf("four");
			break;
    case 5:if(j>0)
				printf("five ");
		    else
				printf("five");
			break;
    case 6:if(j>0)
				printf("six ");
		    else
				printf("six");
			break;
    case 7:if(j>0)
				printf("seven ");
		    else
				printf("seven");
			break;
    case 8:if(j>0)
				printf("eight ");
		    else
				printf("eight");
			break;
    case 9:if(j>0)
				printf("nine ");
		    else
				printf("nine");
			break;
    case 0:if(j>0)
				printf("zero ");
		    else
				printf("zero");
			break;
	default:;		

	}
 
}
 printf("\n");
}
}
}

Double click to view unformatted code.


Back to problem 16