ought 是buy 的过去分词,和句首的助动词have 构成【现在完成时】
tomorrow 要去掉
如果有状语tomorrow 的话,应该是:
Will you buy food tomorrow?(用一般将来时)