A、提着水桶前进,人给水桶一个向上的力,而水桶在水平方向上通过了距离,没有在力的方向上通过距离,所以没有做功.故A错误.B、人给石头一个向上的力,但石头没有移动距离,有力无距离,所以没有做功.故B错误.C、人通过杠杆给石块一个上的力,石块被撬起,即在力的方向上通过了距离,所以此时人对石块做了功.故C正确.D、人给石头一个水平方向上的力,但石头没有移动距离,有力无距离,所以没有做功.故D错误.故选C