(1)continue;不对,按你的思路,应该用break;(2)for(j=2;j<sqrt(i);j++)其中的<应该改成<=;(3)你的printf("%d:%d\n",k,i);放到i的循环以外了,你输出的是哪个i呢?显然不对。你的题目中没有要求输出。如果有要求,应该按要求来输出。