C语言程序 输出1000以内的所有质数,每5个换一行

C语言程序 输出1000以内的所有质数,每5个换一行,第1张

可以参考下面的代码:

#include <stdio.h>

#include <math.h>

int is_prime(int n)

{

int i

for(i = 2 i <= sqrt(n) i ++)

if(n%i == 0) 颤纤扒return 0

return 1

}

int main()

{

int i,n=0

for(i=2 i < 1000 i ++)

{

if(is_prime(i))

{

printf("%d ",i)

n++

if(n%5==0)printf("\n"竖袜)

}

}

}

扩展资料:

C语言参考函数:

double pow(double x,double y) 返回茄昌x^y的值

double pow10(int p) 返回10^p的值

double sqrt(double x) 返回+√x的值

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

参考资料来源:百度百科-C语言函数

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

/*****************************************************************

*本程序用来计算1000内质数有哪些及一共有哪些。

*

*知识点:什么是质数?指仿及只能被本身和1整除的整数。

*

*时间:2018.10.22

*****************************************************************/

int main(void)

{

int i,j,result = 0,sum = 0 //燃凯i-循环变量和被判断数 j-循环变量和判断唯段纤数 result-验证是否为质数的返回值 sum-质数总量计数

for (i = 2i <= 1000i++) //第一个循环用来取出被判断数 从2开始到1000

{

for (j = 2j <= sqrt(i) + 1j++)//第二个循环是用来判断这个数是否为质数并返回,从2开始至被判断数开根后+1. sqrt(i)后面不+1 会把质数2 3丢掉

{

if (i%j == 0 &&i != j) //如果被判断数用2-被判断数来取余,如果余数为0 且不是被自已整除那么这个数一定不是质量直接返回

{

result = 0//判断出是质数后返回前必须给返回值赋0值,0代表非质数 1代表质数

break

}

result = 1

}

if (result == 1) //如果此数为质数 质数总量+1后并打印 把result返回值初始化准备下一个循环判断。

{

sum++

printf("第%d个质数:%d \n",sum,i)

result = 0

}

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8260296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存