c语言编程输入两个正整数a和b(2<=a

c语言编程输入两个正整数a和b(2<=a<b<=99999,输出二者之间的素数的个数。

问题描述:

c语言编程输入两个正整数a和b(2<=a

#include <stdio.h>
int main(){
	int a,b;
	printf("请输入两个整数(空格隔开):");
	scanf("%d %d",&a,&b); 
	int cnt=0; 
	if(a>=2 && a<b && b<=9999){
		//循环a-b之间的数,判断该数是否为素数 
		for(int i=a;i<=b;i++){
			if(sushu(i)){
				cnt++;
			}
		} 
	}else{
		printf("输入的数据有误!");
	}
	printf("%d-%d之间有%d个素数",a,b,cnt);
	return 0;
}

int sushu(int nun){
	int flag=1;
	for(int i=2;i<num/2;i++){
		//该数可以被其他数整除,返回假 
		if(num%i==0){
			flag=0; 
			break;
		}
	}
	return flag;
}

代码如上,万望采纳

#include <stdio.h>
main()
{
	int a,b,j,n,c=0,i;
	scanf("%d %d",&a,&b);
		for(n=a;n<=b;n++)
		{    j=0;
			for(i=2;i<n;i++)
			{
				if(n%i==0)
				{
					j=1;break;
				}
			}
			if(j==0)
				c+=1;
		}
		printf("%d",c);
}

这个好办啊,素数就是只能被1和自身整除

#include <stdio.h>
int isprime( int n);
int main()
{
    int sum = 0;
    int a,b,i;
    printf("请输入a b: ");
    scanf("%d",&a);
    scanf("%d",&b);
    for( i=a; i<=b; i++ ) {
        if(isprime(i)){
            printf("%d ", i);
            sum++;
        }
    }
    printf("\n共有%d个素数", sum);
    return 0;
}
int isprime(int n)
{
    int i;
    if(n<=3) return n>1;
    for(i=2;i*i<=n;i++)
        if(n%i==0) return 0;
    return 1;
}

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢。
 

int main()
{
	int a, b,i,j,num=0;
	scanf_s("%d", &a);
	scanf_s("%d", &b);
	for (i = a; i <= b; i++)
	{
		for (j = 2; j < i; j++)
		{
			if (i%j == 0)
				break;
		}
		if (j == i)
        {
			printf("%d ", i);
            num++;
        }   
	}
    printf("\n素数个数共:%d个",num);

	return 0;

}

同问

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632