楼主代码写好点; 前面#include<stdio.h> #include<math.h>然后你的k在这道里面没意义,c赋初值应该在k的那个位置,才能判断X到Y所有的值域符合素数,像你的那样只能判断最后一个数字。这是在你的基础上改的代码。#include<stdio.h> #include<math.h>int main(){ int n,x,y,i,sum,k,c; while(scanf("%d %d",&x,&y)!=EOF) { if(x==0&&y==0) break; c=0; for(i=x;i<=y;i++) { sum=i*i+i+41; for(n=2;n<sum;n++) { if(sum%n==0) c++; } } if(c==0) printf("OK
"); else printf("Sorry
"); } return 0;}