[leetcode]Roman to Integer C语言

【题】 Roman to Integer
Given a roman numeral, convert it to an integer.
Input is guaranteed to be within the range from 1 to 3999.
【题目分析】首先,罗马数字的表示必须要清楚,这一点上网查。
【具体代码如下】

int toNumber(char ch) { switch (ch) { case 'I': return 1; case 'V': return 5; case 'X': return 10; case 'L': return 50; case 'C': return 100; case 'D': return 500; case 'M': return 1000; } } int romanToInt(char* s) {int total=0; char *p=s; int i=0; int a=0; int b=0; while(p[i]!='\0') { a=toNumber(p[i]); b=toNumber(p[i+1]); if(a>=b) {total=a+total; i=i+1; } if(a

【[leetcode]Roman to Integer C语言】【自我总结】
1.首先我遇到的问题是如何将’X’,I,L,C,D…..罗马数字与他们所表示的具体值联系起来。采用的方法是实现一个独立的函数完成此功能。一一对应采用switch语句,都不满足时return 0; 这个比较容易被忽略。函数返回值就是传入参数的数值。这样做在方便实现romanToInt函数的编写。

    推荐阅读