View Code of Problem 16

#include<stdio.h>
#include<string.h>
#include<math.h> 
int main()
{
	char num[10][7]={"zero","one","two","three","four","five","six","seven","eight","nine"};
	int t,flag,sum,len=0,a[10]={0};
	char str[7];
	scanf("%d",&t);
	while(t--)
	{
		sum=0;
		scanf("%d",&flag);
		while(scanf("%s",str)!=EOF)
		{	
			if(str[0]>='0'&&str[0]<='9')
			{	
				len=strlen(str);
				for(int i=0;i<len;i++)
				{
					a[i]=str[i]-'0';	
				}
			}
			else if(str[0]=='+')
			{
				for(int i=0;i<len;i++)
				{
					sum+=a[i]*pow(10,len-i-1);
				}
				len=0;
			}
			else if(str[0]=='=')
			{
				for(int i=0;i<len;i++)
				{
					sum+=a[i]*pow(10,len-i-1);
				}
				if(flag==0)
				{
					printf("%d\n",sum);
				}
				else
				{
					while(sum>=10)
					{
						printf("%s ",num[sum/10]);
						sum%=10;
					}
					printf("%s\n",num[sum]);		
				}
				len=0;
				break;
			}
			else
			{
				for(int i=0;i<10;i++)
				{
					if(strcmp(str,num[i])==0)
					{
						a[len++]=i;
						break;
					}
				}
			}
		}	
	}
} 

Double click to view unformatted code.


Back to problem 16