c语言菜鸟,这个代码,那错了%4,我认为挺对呀,谢谢,如图?

如题所述

算法看了下好像没问题,运行结果没跑过就不知道对不对了,看上去应该是对的。

看出两个不完善的地方。

    第二个for循环中,当找到这个数的时候,就不用再循环了,printf后就可以break或者return。

    如果没有找到,没有输入出错的提示。可以提示输入错误。

你的算法还有改进的地方,就是速度。题目中说的9进制是个好方法,而你这个方法的缺陷就是速度太慢,初始化数组还算好,就一次,但输入数据的话,如果是可以多次输入,每次输入都要经历循环对比,浪费了大量的时间,效率会很差,还不如在初始化数组的时候就按照输出内容来初始化,含4的就初始化为-1,比如a[55]=40 , a[4]=-1 ,这样就可以加简单判断后直接利用a的值取结果,不用去循环对比了

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-10-15
先不考虑这题有没有运行时间限制,你的变量a没有给限制,题目明确写着输入的数在大于1小于1000的范围内;其次再考虑你的运行结果是否对。追问

没用,运行和答案全对,但就是说错了%4

相似回答