我如何修改这个代码使得我可以输出1000以内最大的10个素数
#include <stdio.h>
int main() {
int i, j, flag;
printf("1000以内的最大10个素数是:
");
for(i=2; i<=1000; i++) {
flag = 0;
for(j=2; j<i/2; j++) {
if(i%j == 0) {
flag = 1; // 如果有因子则flag置1,表示不是素数。
break; // 跳出内层for循环。
}
}
if (flag == 0) // 如果flag仍为0,表明没有因子,即为素数。
printf("%d ", i); // 输出当前的i值即为一个素数。 }
return 0;
}
修改后的代码如下所示:
#include <stdio.h>
int main() {
int i, j, flag, count = 0;;
printf("1000以内的最大10个素数是:
");
for(i=2; i<=1000 && count<10 ; i++) { flag = 0;
for(j=2 ; j<i/2 ; j++){ if (i % j ==0 ){ flag = 1 ; // 如果有因子则flag被设定成1表明不是一个质数。
break ;// 跳出内层for循环。
}
}
if (flag ==0 ){//如果flag仍然是0表明这是一个质数。
printf ("%d " , i );//输出当前的I值就可以了.count++; }}return 0;}
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。