用C语言编写代码读入一个字符串类型的罗马数字,将其转化为整型数字
时间: 2023-11-21 14:03:56 浏览: 79
将字符串转换成整型数值
5星 · 资源好评率100%
下面是一个使用 C 语言编写的读入罗马数字并将其转化为整型数字的代码示例:
```c
#include <stdio.h>
#include <string.h>
/* 将罗马数字转化为整型数字 */
int romanToInt(char *s) {
int i, len = strlen(s), sum = 0;
for (i = 0; i < len; i++) {
switch (s[i]) {
case 'I':
if (s[i+1] == 'V' || s[i+1] == 'X') {
sum -= 1;
} else {
sum += 1;
}
break;
case 'V':
sum += 5;
break;
case 'X':
if (s[i+1] == 'L' || s[i+1] == 'C') {
sum -= 10;
} else {
sum += 10;
}
break;
case 'L':
sum += 50;
break;
case 'C':
if (s[i+1] == 'D' || s[i+1] == 'M') {
sum -= 100;
} else {
sum += 100;
}
break;
case 'D':
sum += 500;
break;
case 'M':
sum += 1000;
break;
}
}
return sum;
}
/* 主函数 */
int main() {
char roman[100];
printf("请输入罗马数字:");
scanf("%s", roman);
printf("对应的整数为:%d\n", romanToInt(roman));
return 0;
}
```
代码中使用 `romanToInt` 函数将罗马数字转化为整型数字,具体转换规则见函数内的注释。在主函数中,通过 `scanf` 函数读入一个字符串类型的罗马数字,然后调用 `romanToInt` 函数将其转化为整型数字,并输出结果。
阅读全文