杭电OJ第4256题 The Famous Clock

  杭电OJ第4256题,The Famous Clock题目链接)。

The Famous Clock

Problem Description

Mr. B, Mr. G and Mr. M are now in Warsaw, Poland, for the 2012’s ACM-ICPC World Finals Contest. They’ve decided to take a 5 hours training every day before the contest. Also, they plan to start training at 10:00 each day since the World Final Contest will do so. The scenery in Warsaw is so attractive that Mr. B would always like to take a walk outside for a while after breakfast. However, Mr. B have to go back before training starts, otherwise his teammates will be annoyed. Here is a problem: Mr. B does not have a watch. In order to know the exact time, he has bought a new watch in Warsaw, but all the numbers on that watch are represented in Roman Numerals. Mr. B cannot understand such kind of numbers. Can you translate for him?

Input

Each test case contains a single line indicating a Roman Numerals that to be translated. All the numbers can be found on clocks. That is, each number in the input represents an integer between 1 and 12. Roman Numerals are expressed by strings consisting of uppercase ‘I’, ‘V’ and ‘X’. See the sample input for further information.

Output

For each test case, display a single line containing a decimal number corresponding to the given Roman Numerals.

Sample Input

I
II
III
IV
V
VI
VII
VIII
IX
X
XI
XII

Sample Output

Case 1: 1
Case 2: 2
Case 3: 3
Case 4: 4
Case 5: 5
Case 6: 6
Case 7: 7
Case 8: 8
Case 9: 9
Case 10: 10
Case 11: 11
Case 12: 12

Source

Fudan Local Programming Contest 2012

  解题思路:遇到I输出1,遇到II输出2,……,遇到XII输出12。

  C语言源代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <stdbool.h>

int main (void)
{
    int test_case = 0;
    char roman_numeral[8];
    while ( gets( roman_numeral ) != NULL )
    {
        test_case ++;
        if ( !strcmp( roman_numeral, "I" ) )
            printf( "Case %d: 1\n", test_case );
        else if ( !strcmp( roman_numeral, "II" ) )
            printf( "Case %d: 2\n", test_case );
        else if ( !strcmp( roman_numeral, "III" ) )
            printf( "Case %d: 3\n", test_case );
        else if ( !strcmp( roman_numeral, "IV" ) )
            printf( "Case %d: 4\n", test_case );
        else if ( !strcmp( roman_numeral, "V" ) )
            printf( "Case %d: 5\n", test_case );
        else if ( !strcmp( roman_numeral, "VI" ) )
            printf( "Case %d: 6\n", test_case );
        else if ( !strcmp( roman_numeral, "VII" ) )
            printf( "Case %d: 7\n", test_case );
        else if ( !strcmp( roman_numeral, "VIII" ) )
            printf( "Case %d: 8\n", test_case );
        else if ( !strcmp( roman_numeral, "IX" ) )
            printf( "Case %d: 9\n", test_case );
        else if ( !strcmp( roman_numeral, "X" ) )
            printf( "Case %d: 10\n", test_case );
        else if ( !strcmp( roman_numeral, "XI" ) )
            printf( "Case %d: 11\n", test_case );
        else if ( !strcmp( roman_numeral, "XII" ) )
            printf( "Case %d: 12\n", test_case );
        else
            assert(false);
    }
    return EXIT_SUCCESS;
}
posted @ 2012-08-13 19:43  叶剑飞Victor  阅读(592)  评论(0编辑  收藏  举报