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;
     break;
    }
    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