1. 程式人生 > >計蒜客羅馬數字轉換成整數

計蒜客羅馬數字轉換成整數

#include<stdio.h>
#include<string.h>
int main()
{
int l,sum,i;
char st[20];
scanf("%s",st);
l=strlen(st);
sum=0;
for(i=0;i<l;i++)
{
if(st[i]=='M')
sum+=1000;
if(st[i]=='D')
sum+=500;
if(st[i]=='C')
{
if((i+1)!=l&&st[i+1]=='D')
{
sum+=400;
i++;
}
else if((i+1)!=l&&st[i+1]=='M')
{
sum+=900;
i++;
}
else
{
sum+=100; 
}
}
if(st[i]=='L')
sum+=50;
if(st[i]=='X')
{
if((i+1)!=l&&st[i+1]=='L')
{
sum+=40;
i++;
}
else if((i+1)!=l&&st[i+1]=='C')
{
sum+=90;
i++;
}
else
sum+=10; 
}
if(st[i]=='V')
sum+=5;
if(st[i]=='I')
{
if((i+1)!=l&&st[i+1]=='V')
{
sum+=4;
i++;
}
else if((i+1)!=l&&st[i+1]=='X')
{
sum+=9;
i++;
}
else
sum+=1;
}
}
printf("%d\n",sum);
return 0;
}