#11804: 不懂錯在哪


kevin09032163 (阿寧)

學校 : 不指定學校
編號 : 64905
來源 : [122.117.114.128]
最後登入時間 :
2017-03-12 17:28:41
a013. 羅馬數字 -- NPSC 模擬試題 | From: [122.117.114.128] | 發表日期 : 2017-03-10 10:12

#include<stdio.h>
#include<string.h>
#include<math.h>

int f7(char a){
switch(a){
case 'I':
return 1;
break;
case 'V':
return 5;
break;
case 'X':
return 10;
break;
case 'L':
return 50;
break;
case 'C':
return 100;
break;
case 'D':
return 500;
break;
case 'M':
return 1000;
break;
}

}
int main(void){
char a[100],b[100];
while(scanf("%s",a)!=EOF&&a[0]!='#'){
int i,d=0,e=0;
scanf("%s",b);
for(i=0;i<strlen(a);i++){
d=d+f7(a[i]);
}
//printf("%d\n",d);
for(i=0;i<strlen(b);i++){
e=e+f7(b[i]);
}
//printf("%d\n",e);
int c=0;
c=abs(d-e);
if(c==0){
printf("ZERO\n");
}
while(c>0){
if(c>=1000){
printf("M");
c=c-1000;
}
else if(c>=900){
printf("CM");
c=c-900;
}
else if(c>=500){
printf("D");
c=c-500;
}
else if(c>=400){
printf("CD");
c=c-400;
}
else if(c>=100){
printf("C");
c=c-100;
}
else if(c>=90){
printf("XC");
c=c-90;
}
else if(c>=50){
printf("L");
c=c-50;
}
else if(c>=40){
printf("XL");
c=c-40;
}
else if(c>=10){
printf("X");
c=c-10;
}
else if(c>=9){
printf("IX");
c=c-9;
}
else if(c>=5){
printf("V");
c=c-5;
}
else if(c>=4){
printf("IV");
c=c-4;
}
else if(c>=1){
printf("I");
c=c-1;
}
if(c==0){
printf("\n");
}

}
}
return 0;
}

自己執行都沒有錯,執行時卻說我錯。

 
ZeroJudge Forum