尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

[C语言题目】罗马数字转整数

[C语言题目】罗马数字转整数 核心规则正常小数字在大数字右边直接相加例如Ⅵ 516特例小数字在大数字左边用大数字-小数例如Ⅳ5-14Ⅸ10-19题目解题char *s传入字符串指针就是罗马数字字符串。这是一个嵌套子函数作用就是查表。给一个字符switch匹配直接返回它代表的数字。内部子函数int getVal(char c)输入一个罗马字符返回它代表的阿拉伯数字。例如传入’V返回5。defaultreturn 0;遇到不是罗马字符的时候返回0。sum用来累计最终结果初始值为0。for循环。i字符串下标从0开始逐个访问每一个字符s[0],s[1],s[2]s[i] !\0C语言字符串末尾会自动存放一个特殊标记\0(反斜杠数字0。读到这个标记代表字符串读完循环结束。cur现在正在处理这一位数值。next右边紧邻的下一位。当i走到字符串最后一个字符的时候i1就正好指向末尾的‘\0调用getVal’\0返回0。于是cur(真实数字 next (0),会走else直接把最后一位数字加上不需要我们额外写边界判断。核心if-else。return sum;循环结束返回计算出来的整数。整体如下
返回列表