翁恺C语言入门 第五章第一个 素数和 求解答

img


我的答案:

#include<stdio.h>
int main()
{
    int i,j=0,x=1,t,m,n,sum=0;
    scanf("%d%d",&n,&m);
    do
    {    t=1;//x是素数 
        if(x=1)t=0;
        else if(x=2)t=1;
        else
        {
            for(i=2;i<x;i++)
            {
                if(x%i==0)
                t=0;
                break;
            }
        }    
        if(t==1)
        {
            j++;//判断是第几个素数 
            if(j>=n&&j<=m)
            sum+=x;
        }
         
    }
    while(j<=m);//我知道这里错了,但我不会改
    printf("%d",sum);
    return 0; 
}

可编译,不能输出结果,求改错,求解答

#include<stdio.h>
int main()
{
    int j=0,i,x=1,t,m,n,sum=0;
    scanf("%d %d",&n,&m);
    do
    {   
        t=1;//x是素数 
        if(x==1) t=0;        //用x值来判断那就给x=n;然后x自增  就是n到m之间的数字 
        else if(x==2) t=1;  //==是判断  =是赋值 
        else
        {
            for(i=2;i<x;i++)
            {
                if(x%i==0){ //加括号  不为素数可以直接结束循环 
                    t=0;
                    break;
                }
            }
        }    
        if(t==1)
        {
            j++;//判断是第几个素数 
            if(j>=n&&j<=m) 
                sum+=x;
        }
        x++;
    }
    while(j<=m);//我知道这里错了,但我不会改
    printf("%d",sum);
    return 0; 
}