addendum777 发表于 2022-9-14 14:51:26

罗马数转整数

int romanToInt(char * s){
    int longth=strlen(s);
    int i=0;
    int sum=0;
    int* flag=NULL;
    flag=(int*)malloc(longth*sizeof(int));
    for(i=0;i<longth;i++)
    {
      switch(s)
       { case 'I':flag=1;break;
      case 'V': flag=5;break;
      case 'X': flag=10;break;
      case 'L': flag=50;break;
      case 'C': flag=100;break;
      case 'D': flag=500;break;
      case 'M': flag=1000;break;}

    }

    for(i=0;i<longth-1;i++)
    {
      flag=flag>flag?flag:-flag;
    }

    for(i=0;i<longth;i++)
    sum+=flag;

return sum;
}

哪里有问题呢?

举例:输入: s = "IV"
输出: 4

jhq999 发表于 2022-9-14 17:31:55

本帖最后由 jhq999 于 2022-9-14 17:33 编辑

-1+5 sum可不就是等于4吗?

cnkizy 发表于 2022-9-14 19:46:25

https://fishc.com.cn/thread-217774-1-1.html

zhangjinxuan 发表于 2022-10-22 08:56:36

你希望 IV 等于神马?

IV 不就是等于 4 吗?
页: [1]
查看完整版本: 罗马数转整数