| #include <stdio.h> #include <string.h> #include <ctype.h> char Num_Str1[10]; char Num_Str2[10]; char Num_Str3[10]; int Num1, Num2, Num3; int Mapping[10]; void read_equation(void); void read_mapping(void); void convert_all(void); void show(void); int main(void) { read_equation(); read_mapping(); convert_all(); show(); return 0; } void read_equation(void) { char ch; int i1=0,i2=0,i3=0; while((ch=getchar())!='+'){ Num_Str1[i1]=ch; i1++; } Num_Str1[i1]='\0'; while((ch=getchar())!= '='){ Num_Str2[i2]=ch; i2++; } Num_Str2[i2]='\0'; while((ch=getchar())!= '\n'){ Num_Str3[i3]=ch; i3++; } Num_Str3[i3]='\0'; } void read_mapping(void) { char inputc, ch, numc; int i; for(i=0;i<10; i++){Mapping[i]=-1;} while((inputc=getchar())!='#'){ if(isupper(inputc)==1){ch=inputc;} if(isdigit(inputc)==1){numc=inputc;} Mapping[ch-65]=numc-48; } } void show(void) { printf("%d\n", Num1); printf("%d\n", Num2); printf("%d\n", Num3); if (Num1+Num2 == Num3) printf("Right\n"); else printf("Wrong\n"); } |
輸入格式和第一題完全相同。
總共會有四行。前三行為讀進來的那三個經過編碼的字母所對應的數字,每個數字一行。最後一行輸出"Wrong"或"Right"表示等式是否正確。