m0_61800796
2021-09-21 11:23
采纳率: 93.9%
浏览 62

c语言用数组和函数求出200以内素数的问题

img

img


想问下哪里出了问题,打印会打印很多遍,打印的素数除了4以外其他都是对的

附上代码
#include <stdio.h>
int sum(int number);
int main() {
int a,m,i,g;
int n = 200;
int prime[n];
for(i=2;i<n;i++){
prime[i] = 1;
}
for(a=2;a<n;a++){
g = sum(a);
if(g==0){
for(m=2;am<n;m++){
prime[m
a]=0;
}
}
for(i=0;i<n;i++){
if(prime[i]==1){
printf("%d\n",i);
}
}
}
return 0;
}

int sum(int number){
int b;
int x;
int i=number-1;
for(;i>1;i--){
x = number%i;
if(x==0){
b=1;
break;
}else {
b=0;
}
return b;
//b=0则是素数
}
}

1条回答 默认 最新

相关推荐 更多相似问题