用C语言编写判断一个数是否是素数的程序

作者&投稿:冯淑 (若有异议请与网页底部的电邮联系)
~ 1、打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#includestdio.h用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。
2、首先,判断这个数是否小于2.若是,则直接返回0,即表示它不是一个素数。
3、然后定义中间的因数i,初始值为2。依次使n对i取余数,看n能否整除i,然后令i自增直到i的平方大于n。在这过程中,如果遇到n能整除i,则说明n不是一个素数。如果循环能够直到i的平方大于n才结束,说明n是一个素数。
4、接下来,我们使用主函数进行测试,使用printf(%d : %dn, n, is_prime(n))的格式进行输出。如果输出结果为0,说明不为素数;结果为1,说明是一个素数。
测试的数据依次是2,4,9,15, 17, 23, 25。
5、退出编辑器vim,然后使用gcc编译并运行它,得到结果。通过结果我们可以看出,预期的结果与我们对于素数的认知是相同的,说明我们的程序编写没有错误。以下是所有的源代码:
#include stdio.h
//判断一个数是否为素数的函数定义
int is_prime(int n)
{
//判断n是否小于2.若小于则直接返回0
//表示n不是一个素数
if(n
2)
return 0;
//定义一个中间变量i,初始化i=2
int i = 2;
//依次判断每一个不大于根号n的i是否能被n整除
for(i = 2; i * i = n;i++)
{
//如果能够整除
if(n % i == 0)
//直接返回0,表示n不是一个素数
return 0;
}
//如果程序运行到这里,说明i*i大于n
//说明n是一个素数
return 1;
}
int main()
{
printf(%d : %dn, 2, is_prime(2));
printf(%d : %dn, 4, is_prime(4));
printf(%d : %dn, 9, is_prime(9));
printf(%d : %dn, 15, is_prime(15));
printf(%d : %dn, 17, is_prime(17));
printf(%d : %dn, 23, is_prime(23));
printf(%d : %dn, 25, is_prime(25));
return 0;
}
工具/材料
ubuntu,vim,gcc

用C语言的编程:利用调用函数,判断一个数是否是素数。
答:1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:2、这里开始编写代码,这里判断素数需要用到平方根,所以要在头文件中引入math库,然后编写判断素数的函数,函数有唯一的参数n,代表素数。判断的依据是素数n只要不能被 2 到根号下n之 间任一整数整除,则n...

如何用c语言判断一个数是不是素数?
答:判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。思路1)的代码:include <stdio.h> int main(){ int a=0; // 素数的个数 int num=0; // 输入的整数 printf("输入一个整数:");scanf("%d",&num);for(int i=2;i<num...

编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否...
答:include<iostream> include<cmath> using namespace std;void fun(int a){ int k,i;k=sqrt(a);for(i=2;i<=k;i++)if(a%i==0)break;if(i>k)cout<<a<<"是素数"<<endl;else cout<<a<<"不是素数"<<endl;} main(){ int a;cout<<"请输入一个整数";cin>>a;fun(a);return ...

用C语言编程:输入一个整数,判断这个数是奇数还是偶数。 请大家帮忙啊...
答:include "stdio.h"main(){ int x;printf("请输入一个整数");scanf("%d",&x);if(x%2 == 0) printf("%d是偶数\n",x);else printf("%d是奇数\n",x);} C语言:是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及...

c语言:判断输入的整数是否是五位数,如果是,判断他是否是回文数,如12...
答:scanf("%d",&m);if(9999<m<1000000){a=m/10000;//万位b=m%10000/1000;//千位c=m%10000%1000/100;//百位d=m%10000%1000%100/10;//十位e=m%10000%1000%100%10;//个位}else printf("你输入的数不是五位数\n");if(a==e&&b==d) printf("%d为回文\n",m);return 0;} ...

c语言编程中如何判断一个数是否为整数
答:C语言判断是否为整数,那么只可能是判断输入的值,或者字符串中的值,是否为整数。因为一旦存储在变量中,根据变量类型,要么为整数,要么为浮点数,是确定的。一、判断思路:1、整数中,按十进制计算,合法字符为0到9,另外在最初位置可以有符号,即+或者-。2、对于输入的值,可以先存储到字符串中,...

输入一个数,用C语言编程判断这个数是是否是质数。 我是初学者,请用较...
答:include<stdio.h> void main(){ int i,flag=0;printf("请输入一个数:");scanf("%d",&i);for(int j=2;j

判断一个数 是否为素数 用C语言while或for语句写 谢谢啦
答:int i;for(i=2;i*i<=M;i++)if(M%i==0)break;if(i>M)是素数 else 不是 while(i*i<=M)if(M%i==0)break;if(i>M)是素数 else 不是

输入一个整数,判断它是否大于零,等于或小于零 c语言怎么编程
答:include <stdio.h>int main(){int n;printf("输入一个整数: ");scanf("%d",&n);if(n>0)printf("%d 是个大于0的整数.\n",n);else if(n==0)printf("%d 是个等于0的整数.\n",n);elseprintf("%d 是个小于0的整数.\n",n);return 0;} ...

用C语言循环程序编写:输入一个数,判断该数是否为素数。
答:include <stdio.h> void main(){ int n,half;printf("请输入一个整数n:");scanf("%d",&n);half=n/2;for(int i=2;i<=half;i++)if(n%i==0){ printf("该数不是素数");break;} if(i>half)printf("该数是素数");} (我在VC上编的,自己运行过,希望对你有用^_^)...