POJ 2685

来源:互联网 发布:php域名和ip授权 编辑:程序博客网 时间:2024/06/08 01:53
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#define CNT 2#define MAXSIZE 9int main(){int cnt;scanf("%d",&cnt);while( cnt-- ){char input[CNT][MAXSIZE];int  result[CNT] = {0,0};scanf("%s",input[0]);scanf("%s",input[1]);for(int j=0; j<2; j++){for(int i=0; i<strlen(input[j]); i++){if(isdigit(input[j][i])){int temp = atoi(&input[j][i]);switch(input[j][++i]){case 'm':result[j] += 1000 * temp;break;case 'c':result[j] += 100 * temp;break;case 'x':result[j] += 10 * temp;break;case 'i':result[j] += temp;break;default:break;}}else{switch(input[j][i]){case 'm':result[j] += 1000 ;break;case 'c':result[j] += 100 ;break;case 'x':result[j] += 10 ;break;case 'i':result[j] += 1;break;default:break;}}//for if}//for i}// for jint sum = result[0] + result[1];char print_sum[MAXSIZE] = {0};// converse to printint index = 0;for(int div=1000; div!=0 ; div/=10){if(sum / div){if(sum / div != 1){print_sum[index++] = sum/div + '0'; }switch(div){case 1000:print_sum[index] = 'm';break;case 100:print_sum[index] = 'c';break;case 10:print_sum[index] = 'x';break;case 1:print_sum[index] = 'i';break;}index ++;sum %= div;}}// forprintf("%s\n",print_sum);}//whilereturn 0;}
字符串处理。