思路:找到1-100间的特殊区间,使用if语句判断输入的数字是否在这个区间,如果在就减去这个区间最小值给这个数字(比如区间1-3,如果输入3,则3-1=2,把2给需下一次判断的值)然后循环再判断,直到这个值为0。
下边是我写的代码,欢迎各位朋友指点。
1
#include <stdio.h>
2
3
int main()
4
{
5
int digit = 1;
6
int roman;
7
8
while ( digit <= 100 )
9
{
10
printf( "%d\t", digit );
11
roman = digit;
12
13
while ( roman > 0 )
14
{
15
if ( roman == 100 )
16
{
17
printf( "C" );
18
roman -= 100;
19
}
20
else if ( roman < 100 && roman >= 90 )
21
{
22
printf( "XC" );
23
roman -= 90;
24
}
25
else if ( roman < 90 && roman >= 50 )
26
{
27
printf( "L" );
28
roman -= 50;
29
}
30
else if ( roman < 50 && roman >= 49 )
31
{
32
printf( "IL" );
33
roman -= 49;
34
}
35
else if ( roman < 49 && roman >= 40 )
36
{
37
printf( "XL" );
38
roman -= 40;
39
}
40
else if ( roman < 40 && roman >= 10 )
41
{
42
printf( "X" );
43
roman -= 10;
44
}
45
else if ( roman < 10 && roman >= 9 )
46
{
47
printf( "IX" );
48
roman -= 9;
49
}
50
else if ( roman < 9 && roman >= 5 )
51
{
52
printf( "V" );
53
roman -= 5;
54
}
55
else if ( roman < 5 && roman >= 4 )
56
{
57
printf( "IV" );
58
roman -= 4;
59
}
60
else if ( roman < 4 && roman >= 1 )
61
{
62
printf( "I" );
63
roman -= 1;
64
}
65
else
66
printf( "must between 1~100 !" );
67
}
68
69
printf( "\n" );
70
digit++;
71
}
72
return 0;
73
}
#include <stdio.h>2

3
int main()4
{5
int digit = 1;6
int roman;7
8
while ( digit <= 100 )9
{10
printf( "%d\t", digit );11
roman = digit;12
13
while ( roman > 0 )14
{15
if ( roman == 100 )16
{17
printf( "C" );18
roman -= 100;19
}20
else if ( roman < 100 && roman >= 90 )21
{22
printf( "XC" );23
roman -= 90;24
}25
else if ( roman < 90 && roman >= 50 )26
{27
printf( "L" );28
roman -= 50;29
}30
else if ( roman < 50 && roman >= 49 )31
{32
printf( "IL" );33
roman -= 49;34
}35
else if ( roman < 49 && roman >= 40 )36
{37
printf( "XL" );38
roman -= 40;39
}40
else if ( roman < 40 && roman >= 10 )41
{42
printf( "X" );43
roman -= 10;44
}45
else if ( roman < 10 && roman >= 9 )46
{47
printf( "IX" );48
roman -= 9;49
}50
else if ( roman < 9 && roman >= 5 )51
{52
printf( "V" );53
roman -= 5;54
}55
else if ( roman < 5 && roman >= 4 )56
{57
printf( "IV" );58
roman -= 4;59
}60
else if ( roman < 4 && roman >= 1 )61
{62
printf( "I" );63
roman -= 1;64
}65
else66
printf( "must between 1~100 !" );67
}68

69
printf( "\n" );70
digit++;71
}72
return 0;73
}
