算法看了下好像没问题,运行结果没跑过就不知道对不对了,看上去应该是对的。
看出两个不完善的地方。
第二个for循环中,当找到这个数的时候,就不用再循环了,printf后就可以break或者return。
如果没有找到,没有输入出错的提示。可以提示输入错误。
你的算法还有改进的地方,就是速度。题目中说的9进制是个好方法,而你这个方法的缺陷就是速度太慢,初始化数组还算好,就一次,但输入数据的话,如果是可以多次输入,每次输入都要经历循环对比,浪费了大量的时间,效率会很差,还不如在初始化数组的时候就按照输出内容来初始化,含4的就初始化为-1,比如a[55]=40 , a[4]=-1 ,这样就可以加简单判断后直接利用a的值取结果,不用去循环对比了