除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t
pr
#include
#include
main()
{
int a,i,flag,count=0
for(a=1a <=100a++)
{
flag=0
for(i=2i
#include int main()
{
int i,n,k,b
for(i=1,b=1i<=100i++)
{
for(n=2n {
k=i%n
if(k==0)
break
}
扩展资料:
C语言注意事项:
1、预编译命令不是语言语句,不使用分号,不占用运行时间。
2、在IDE中通常包括编辑器,编译器,汇编器和链接器,在这个过程中是语言等级逐级降低的过程,从最高级的c语言到中级语言汇编语言再到低级语言机器语言,编辑器生成文件为.c文件,编译器生成的文件为obj汇编器生成的文件为.0文件,链接器生成的是exe文件。
3、注意 return和exit的区别, return是让本函数运行结束,而exit是让本程序运行结束。
4、在指针定义时,一定要进行初始化,否则就会出现意想不到的错误,如果不能找到对应地址赋值,那就赋给NULL(注意大写)。
5、gets可以 scanf办成办不成的事,就是可以接受空格,puts在最后会输出一个换行。
根据素数的性质,代码设计如下:
设计一:判断n是否能被1~n-1整除,不能整除为素数
#include<stdio.h>
int main()
{
int i, n
scanf("%d", &n)
for (i = 2i <n i++)
{
if (n%i == 0)
break
}
if (i <n) printf("This is not a prime.")
else printf("This is a prime.")
return 0
}
设计二:判断n是否能被2~√n间的整数整除,不能整除为素数
#include<stdio.h>
#include<math.h>
int main()
{
int n,i
double k
scanf("%d", &n)
k = sqrt(n)
for (i = 2i <= ki++)
{
if (n%i == 0) break
}
if (i <=k) printf("This is not a prime.")
else printf("This is a prime")
return 0
}
扩展资料:
1.素数的定义是只能被1和他本身整除,1不是素数.因此要判断一个数是否为素数.就要判断它能不能被比他小的所有素数整除,这是一个算法.(写到算法时,我只能写出用它除以比他小的所有数,造成运算速度低下)
2.如果一个质数大于根号n,而n可以除尽它,那么n必然也可以除尽一个更小的质数。由此可以得到一个法2较快的素数判断算法
参考资料:百度百科-scanf
参考资料:百度百科-质数