一坨小旋旋 2022-07-08 17:55 采纳率: 50%
浏览 38
已结题

罗马数字转整数的问题

改了好久,我实在是不知道哪里出问题了,它的输出结果奇奇怪怪的,我输入“I”,输出的居然是73。

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-07-08 21:53
    关注

    供参考:

    #include <stdio.h>
    #include <string.h>
    int romanToInt(char * s)
    {
        int i=0,j=0,a[16]={0},sum=0;  //整形数组a用于记录对应罗马数字的整数,
                                      //sum用于记录罗马数字代表的整数和
        for(i = 0;s[i] != '\0'; i++)
        {
            switch(s[i]){
                  case 'I':{a[j++]=1;break;}
                  case 'V':{a[j++]=5;break;}
                  case 'X':{a[j++]=10;break;}
                  case 'L':{a[j++]=50;break;}
                  case 'C':{a[j++]=100;break;}
                  case 'D':{a[j++]=500;break;}
                  case 'M':{a[j++]=1000;break;}
                  default:break;
            }
        }
        a[j]=0;
        for(i=0;i < j; i++)
            if(a[i] >= a[i+1])
               sum += a[i];
            else
               sum -= a[i];
        return sum;
    }
    
    int main()
    {
        char s[15];
        int a=0;
        scanf("%s", s);
        a=romanToInt(s);
        printf("%d\n",a);
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月19日
  • 已采纳回答 7月11日
  • 创建了问题 7月8日

悬赏问题

  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境