C 我试图用for循环找到素数1-n

C 我试图用for循环找到素数1-n,c,for-loop,C,For Loop,我试图找到素数,似乎我犯了错误,但我自己几个小时都找不到 这是我的密码: #include<stdio.h> #include<math.h> int main(){ int n,a,b; printf("enter a number=> \n"); scanf("%d",&n); for(a=2;a<=n;a++){ for(b==2;b<=a;b++){ if(a%b

我试图找到素数,似乎我犯了错误,但我自己几个小时都找不到 这是我的密码:

#include<stdio.h>
#include<math.h>

int main(){

    int n,a,b;
    printf("enter a number=> \n");
    scanf("%d",&n);
    for(a=2;a<=n;a++){
        for(b==2;b<=a;b++){
            if(a%b==0){
            break;
            }else{printf("Prime number: %d\n",a);}

        }
    }
    return 0;
}
#包括
#包括
int main(){
int n,a,b;
printf(“输入一个数字=>\n”);
scanf(“%d”和“&n”);
对于(a=2;a变化

for(b==2;b<=a;b++)  
//    ^ Replace it with assignment operator '='  

对于(b==2;b您需要使用
=
而不是
=

b==2
在您的代码中,将
b
2
进行比较,如果两者的值相同,则计算为
1
,如果两者不同,则计算为
0

您似乎更希望在那里有一个作业,而是用
b=2
完成

在此之后,还应考虑在更严格的情况下运行<代码> Prtff<代码>语句,比每次<代码>一% b>代码>不等于<代码> 0 <代码>。更严格的情况可以是,例如<代码> b <代码>最终等于<代码> A- 1 < /代码>。 通过将代码更改为以下内容,您可以以最少的更改次数完成所有这些操作:

#include <stdio.h>
#include <math.h>

int main( ){

    int n, a, b;
    printf( "enter a number=> \n" );
    scanf( "%d", &n );
    for ( a = 2; a <= n; a++ ){
        for ( b = 2; b <= a; b++ ){ // removed one = sign
            if ( a % b == 0 ){
                break;
            }
            else if ( b == a - 1 ) {    // added the if ( b == a - 1 )
                printf( "Prime number: %d\n", a );
            }

        }
    }
    return 0;
}
#包括
#包括
int main(){
int n,a,b;
printf(“输入一个数字=>\n”);
scanf(“%d”和“&n”);

对于(a=2;a
b==2
应为
b=2
single equals.
b==2
是布尔结构。如果b等于2,则
b==2
等于
1
(true),但如果b不等于2,则
b==2
等于
0
(false)。首先修复“=”错误,然后检查程序…它将打印“素数”很多次…@Adriano是的。而且b看起来不像柜台:(为什么B平方小于或等于A?)这是不够的,还需要更多,素数正好有两个因素,你应该考虑添加这些细节加上筛子。technique@P0W;筛选技术!我还没有实现:P@user3569411;只需检查数字的平方根。@haccks
#include <stdio.h>
#include <math.h>

int main( ){

    int n, a, b;
    printf( "enter a number=> \n" );
    scanf( "%d", &n );
    for ( a = 2; a <= n; a++ ){
        for ( b = 2; b <= a; b++ ){ // removed one = sign
            if ( a % b == 0 ){
                break;
            }
            else if ( b == a - 1 ) {    // added the if ( b == a - 1 )
                printf( "Prime number: %d\n", a );
            }

        }
    }
    return 0;
}