Wireless sensor networks with one static sink often suffer from energy hole problem, which means energy consumption of certain sensors near the sink or on critical paths is much faster than other nodes. Consequently, network partition and isolated nodes are caused. To solve the problem, we propose a Mobile-sink based Energy-efficient Clustering Algorithm (MECA) for wireless sensor networks. MECA aims at minimizing and balancing energy consumption for all sensor nodes. We divide the network into several equal clusters and the intra-cluster routing exploits multi-hop routing to save energy. We study the effect of both mobility and multiplicity of the sink on total energy consumption. Simulation results show that our proposed routing algorithm consumes much less energy than traditional routing algorithms like LEACH.