nihonium
/
mipt_clang
Archived
1
0
Fork 0

rome2arabic

remotes/private/master
nihonium 2 years ago
parent b541e00bad
commit 4ae6c94abc

@ -0,0 +1,38 @@
#include <stdio.h>
#include <string.h>
#define LEN 7
const char rome[] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'};
const int arabic[] = {1, 5, 10, 50, 100, 500, 1000};
int find_eq(char c);
int main() {
int cur, next;
int res = 0;
int i;
char s[4000];
scanf("%s", s);
for (i = 0; i < (int)strlen(s) - 1; ++i) {
cur = find_eq(s[i]);
next = find_eq(s[i+1]);
if (cur < next) {
res -= cur;
}
else
res += cur;
}
res += find_eq(s[i]);
printf("%d", res);
return 0;
}
int find_eq(char c) {
int i;
for (i = 0; (c != rome[i]) && (i < LEN); ++i);
return arabic[i];
}