解题思路:
素数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

1.输入一个数number,若number为大于一的自然数,判断它是否为素数;

2.number为大于一的小数,不是素数;

3.number小于等于1,不是素数;


参考代码:

#include <stdio.h>
 
int main()
{
    double    number;
    int    i;
    scanf( "%lf", &number );
 
    if ( number > 1 && number == (int) number ) //大于1的自然数
    {
        for ( i = 2; i < number; i++ )
        {
            if ( (int) number % i == 0 )
            {
                printf( "not prime" );
                break;
            }
        }
        if ( i == number )
            printf( "prime" );
    }
    if ( number>1&&(int) number != number )  //大于一的小数
        printf( "not prime" );
 
    if ( number <= 1 )   //小于等于一的数
        printf( "not prime" );
 
    return(0);
}


点赞(23)
 

0.0分

35 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 60 条评论

小辣鸡 1年前 回复TA
@小辣鸡 懂了,麻烦了
小辣鸡 1年前 回复TA
#include <stdio.h>
void f(int n)
{
    int i=2;
    for(i=2;i<n;i++)
    {
        if(n%i==0&&n!=2)
        printf("not prime");
        else 
        printf("prime\n");
    }
    if(n==2)
    printf("prime");
} 
int main()
{
    int a;
    scanf("%d",&a);
    f(a);
    return 0;
}
大佬们,问一下为什么出来一串prime啊。裂开
Travis 1年前 回复TA
#include <stdio.h>
void JudgePrime(int n)
{
	int i = 2;
	while (n % i)
	{
		i++;
	}
	if (i == n)
	{
		printf("prime\n");
	}
	else
	{
		printf("not prime\n");
	}
}

int main()
{
	int num = 0;
	scanf("%d", &num);
	JudgePrime(num);
	return 0;
}
刘陈晨 1年前 回复TA
@刘陈晨 就是i是素数吗?那要是number==8,i==8,那么i==number,这个时候i也是素数吗?
荆州与你尽失 1年前 回复TA
@刘陈晨 判断i等不等于number 如果i等于number那就说明这个数只能被number整除
刘陈晨 1年前 回复TA
请问( i == number )这个是什么意思啊?这个的作用是什么?
梧高凤必至 2年前 回复TA
@INT橙 实际上根本没必要,看看题目输入一个整数,不过确实挺全面的
2年前 回复TA
@最佳皮蛋 int a,  num=0; 	scanf("%d", &a); 	for (int i=1;i <= a; i++;) 	{ 		if (a % i == 0)  		{ 			num++; 		} 	} 	if (num > 2) { printf("%d不是一个素数",a); } 	else { 		printf("%d是一个素数"&#039;,a);}为什么我的一直报错?
WaterFalls 2年前 回复TA
@uq_99487838869 可能是因为题目说在主函数输入输出把
牛路宽 2年前 回复TA
@Eula mei shi