View Code of Problem 16

#include<stdio.h>
#include <string.h>
#include <math.h>
void main()
{
	int i=0,n,j,t,q,flag,sum1,temp,sum,sum2,sum3,z,b[100];
	char a[20];
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d",&flag);
				temp=0;q=0;
				scanf("%s",a);
				

sum2=0;sum=0;sum1=0,sum3=0;
				while(strcmp(a,"=")!=0)
				{
					if(a[0]>='0'&&a[0]<='9')//接收第一个是数字
					{
						

t=strlen(a);
						for(i=0;i<t;i++)
						{
							

temp=(int)(a[i]-'0');
							

sum3=sum3*10+temp;

						}

					}
						if(q)
							

sum=sum3;
						else
							

sum2=sum3;
						
					if(a[0]>='a'&&a[0]<='z')//第一个是字母
					{
						
						if(strcmp(a,"one")==0)
						{
							

temp=1;
							

sum1=sum1*10+temp;
		

						}
					

							

if(strcmp(a,"two")==0)
						{
							

temp=2;
							

sum1=sum1*10+temp;

						}
							

	if(strcmp(a,"three")==0)
						{
							

temp=3;
							

sum1=sum1*10+temp;

						}
							

		if(strcmp(a,"four")==0)
						{
							

temp=4;
							

sum1=sum1*10+temp;

						}
							

			if(strcmp(a,"five")==0)
						{
							

temp=5;
							

sum1=sum1*5+temp;

						}
							

				if(strcmp(a,"six")==0)
						{
							

temp=6;
							

sum1=sum1*10+temp;

						}
							

					if(strcmp(a,"seven")==0)
						{
							

temp=7;
							

sum1=sum1*10+temp;

						}
							

						if(strcmp(a,"eight")==0)
						{
							

temp=8;
							

sum1=sum1*10+temp;

						}
							

							

if(strcmp(a,"nine")==0)
						{
							

temp=9;
							

sum1=sum1*10+temp;

						}
							

							

	if(strcmp(a,"zero")==0)
						{
							

temp=0;
							

sum1=sum1*10+temp;

						}

					}
					    if(q)
							sum=sum1;
						else
						{
							sum2=sum1;
						}
					if(strcmp(a,"+")==0)
					{
					q=1;
					sum1=0;
					sum3=0;
					}
					
					
						a[0]='\0';
						scanf("%s",a);
				}
			if(flag==0)	
           printf("%d\n",sum+sum2);
			else
			{
				j=0;
				z=sum+sum2;
				while(z)
				{
				   b[j]=(z%10);
				   j++;
				   z=z/10;
				}
				for(i=j-1;i>=0;i--)
				{
					if(b[i]==1)
					{
						if(i!=0)
							

printf("one ");
						else
							

printf("one\n");
					}
					
					if(b[i]==2)
					{
						if(i!=0)
							

printf("two ");
						else
							

printf("two\n");
					}
					if(b[i]==3)
					{
						if(i!=0)
							

printf("three ");
						else
							

printf("three\n");
					}
					if(b[i]==4)
					{
						if(i!=0)
							

printf("four ");
						else
							

printf("four\n");
					}
					if(b[i]==5)
					{
						if(i!=0)
							

printf("five ");
						else
							

printf("five\n");
					}
					if(b[i]==6)
					{
						if(i!=0)
							

printf("six ");
						else
							

printf("six\n");
					}
					if(b[i]==7)
					{
						if(i!=0)
							

printf("seven ");
						else
							

printf("seven\n");
					}
					
					if(b[i]==8)
					{
						if(i!=0)
							

printf("night ");
						else
							

printf("night\n");
					}
					
					if(b[i]==9)
					{
						if(i!=0)
							

printf("nine ");
						else
							

printf("nine\n");
					}
					
					if(b[i]==0)
					{
						if(i!=0)
							

printf("zero ");
						else
							

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


    
}

Double click to view unformatted code.


Back to problem 16