/* 输入时可以选择下面几个测试数据: abc(不是二进制), 123(不是二进制), 101(十进制5), 110(十进制6) */ scanf("%s", BinaryString); //输入字符串 int BinaryStringLength = strlen(BinaryString); //求字符串长度 for(int i = 0; i < BinaryStringLength; i++) { Condition = (int)(BinaryString[i] - '0'); //字符转数字,比如‘1’转1 if(Condition != 0 && Condition != 1) //不是0、1,则输入非法 { state = -1; break; } state = StateSet[state][Condition]; //转换后的状态 }
if(state == 0) printf("\nThe binary string is divisible by 5.\n"); elseif(state == -1) printf("\nThe string is not binary.\n"); else printf("\nThe binary string isn't divisible by 5, and the remainder is %d.\n", state);