Gavin Floyd needed a night like this. So did his team, for that matter. Floyd pitched four-hit ball into the seventh, Gordon Beckham homered, and the struggling Chicago White Sox beat the Cubs 7-0 Wednesday to avoid a three-game sweep.