鱼C论坛

 找回密码
 立即注册
查看: 1581|回复: 2

(C)(新人頭好大)請問以下兩段代碼究竟哪裡不一樣,測試結果不同QOQ

[复制链接]
发表于 2020-6-9 17:07:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
看了一下午偷偷求助....
請問這兩段究竟哪裡不同><
我打上面那段測試結果錯誤 下面的卻對了QOQ



int Romatonum(char *roma)
{
        int i, sum = 0;
        for(i = 0; i<strlen(roma) ; i++)
        {
                switch(roma[i])
                {
                        case 'I':if(roma[i+1] == 'V')
                                 {
                                         sum = sum + 4;
                                         i++;
                                 }
                                 else if(roma[i+1] == 'X')
                                 {
                                         sum = sum + 9;
                                         i++;
                                 }
                                 else
                                 {
                                         sum = sum + 1;
                                        
                                 }
                                 break;
                        case 'V':sum = sum + 5;break;
                        case 'X':if(roma[i+1] == 'L')
                                 {
                                         sum = sum + 40;
                                         i++;
                                 }
                                 if(roma[i+1] == 'C')
                                 {
                                         sum = sum + 90;
                                         i++;
                                 }
                                 else
                                 {
                                         sum = sum + 10;
                                 }
                                 break;
                        case 'L':sum = sum + 50;break;
                        case 'C':if(roma[i+1] == 'D')
                                 {
                                         sum = sum + 400;
                                         i++;
                                 }
                                 else if(roma[i+1] == 'M')
                                 {
                                         sum = sum + 900;
                                         i++;
                                 }
                                  else
                                  {
                                          sum = sum + 100;
       
                                  }
                                  break;
                         case 'D':sum = sum + 500;break;
                         case 'M':sum = sum + 1000;break;
                 }
         }
           return sum;
}       




-----------------------------------------------------
int Romatonum(char *roma) {
int sum=0;
int i;

for (i=0;i<strlen(roma);i++){
switch (roma[i]) {
case 'I':
if (roma[i+1] == 'V')
sum += 4,i++;
else if (roma[i+1] == 'X')
sum += 9,i++;
else
sum += 1;
break;
case 'V':
sum += 5;
break;
case 'X':
if (roma[i+1] == 'L')
sum += 40,i++;
else if (roma[i+1] == 'C')
sum += 90,i++;
else
sum += 10;
break;
case 'L':
sum += 50;
break;
case 'C':
if (roma[i+1] == 'D')
sum += 400,i++;
else if (roma[i+1] == 'M')
sum += 900,i++;
else
sum += 100;
break;
case 'D':
sum += 500;
break;
case 'M':
sum += 1000;
}
}
return sum;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-9 18:53:30 | 显示全部楼层
没看问题,不过条件中用 strlen 的很少见。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 06:35:54 | 显示全部楼层
不晓得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 14:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表