问题不大
#include<stdio.h>int main()
{
int i;
int isPrime=1;
int x;
int cnt=0;
for(x=1;cnt<=50;x++){
for(i=2;i<x;i++){
if (x%i==0){
isPrime=0;
break;
}
}
}
if (isPrime==1){
cnt++;
printf("%d\t",x);
}
if (cnt%5==0){
printf("\n");
}
return 0;
}
按F10咋没反应 啥平台 啥编译器啥版本报啥错误或者警告 或者啥现象 tttxiaoz 发表于 2020-8-25 16:36
啥平台 啥编译器啥版本报啥错误或者警告 或者啥现象
dev-c++ emm,这程序写的,都死循环了 tttxiaoz 发表于 2020-8-25 16:36
啥平台 啥编译器啥版本报啥错误或者警告 或者啥现象
就是本想打印五十个素数,可是无现象 4399king 发表于 2020-8-25 16:50
就是本想打印五十个素数,可是无现象
最后的两个判断语句被你写在循环外面,导致上面死循环了 本帖最后由 baige 于 2020-8-25 17:05 编辑
#include<stdio.h>
int main() {
int i;
int isPrime=1;
int x;
int cnt=0;
for(x=2; cnt<=50; x++) {// 应该从2开始, 1的话不会经过内层循环,直接默认为素数,但1不是素数,所以从2开始
isPrime = 1;// 每次初始化为1,如果不初始化为1,当存在不是素数时ispime永远为0
for(i=2; i<x; i++) {
if (x%i==0) {
isPrime=0;
break;
}
}
if (isPrime==1) {
cnt++;
printf("%d\t",x);
}
if (isPrime&&cnt%5==0) {
printf("\n");
}
}
return 0;
}
页:
[1]