(i+1)%5的结果是错的如下:i+1会等于1 2 3 4 5 6 7 8 9。。。。。第一行只输出了4个数,答案明显错了。i%5的话,虽然第一行输出了一个空行,但是不违背题意呀。你可以再加一个条件。if(i%5==0 && i!=0) printf(....);.....这样第一行就没错了。