View Code of Problem 16

#include<stdio.h>
#include<string.h>
#include<math.h>

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

Double click to view unformatted code.


Back to problem 16