Public feed #721551

Something

public text v1 · immutable
Raw Edit
·published 2007-10-01 10:17 UTC
rendered paste body
#include<stdio.h>
#include<string.h>
int main()
{
	int a;
	char arr[8];
	int sum,l,i;
	int coeff;
	scanf("%d",&a);
	while(a--)
	{
		coeff=0;
		sum=0;
		scanf("%s",arr);
		l=i=0;
		l=strlen(arr);
		while(i<l)
		{
			if(arr[i]=='2'||arr[i]=='3'||arr[i]=='4'||arr[i]=='5'||arr[i]=='6'||arr[i]=='7'||arr[i]=='8'||arr[i]=='9')
			{
				coeff=arr[i]-48;
				if(arr[i+1]=='m')
				{
					sum+=coeff*1000;
				}
				else if(arr[i+1]=='c')
				{
					sum+=coeff*100;
				}
				else if(arr[i+1]=='x')
				{
					sum+=coeff*10;
				}
				else if(arr[i+1]=='i')
				{
					sum+=coeff;
				}
			}
			else if(arr[i]=='m')
			{
				if(i==0)
					sum+=1000;
				else
					;
			}
			else if(arr[i]=='c')
			{
				if(i==0)
					sum+=100;
				else if(((i==1)||(i==2))&&(arr[i-1]=='m'))
					sum+=100;
				else
					;
			}
			else if(arr[i]=='x')
			{
				if(i==0)
					sum+=10;
				else if(((i==1)||(i==2)||(i==3)||(i==4))&&((arr[i-1]=='m')||(arr[i-1]=='c')))
					sum+=10;
				else
					;
			}
			else if(arr[i]=='i')
			{
				if(i==0)
					sum+=1;
				else if(((i==1)||(i==2)||(i==3)||(i==4)||(i==5)||(i==6))&&((arr[i-1]=='m')||(arr[i-1]=='c')||(arr[i-1]=='x')))
					sum+=1;
				else 
					;
			}
			i++;
		}
		printf("%d\n",sum);
	}
	return 0;
}