c语言编写程序,输出1000内的所有素数, 每行显示10个数

/*prime1.c*/#include<stdio.h>#include<math.h>voidmain(){intn=0,i,j,w,k;for(i=2;i<=100... /* prime1.c* /
#include <stdio.h>
#include <math.h>
void main()
{ int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{w=1;
k=sqrt(i);
/*若判断i 是否为素数,只需循环测试到sqrt(i)就可以,不需要到i -1*/
/*编写for循环,判断i是否为素数*/
/*如果是素数(w为1)则按每个数6个域宽、右对齐、一行10个数格式打印输出*/
}
}
展开
 我来答
kedadj
2018-10-22
知道答主
回答量:6
采纳率:100%
帮助的人:6096
展开全部
#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 = 2;i <= 1000;i++) //第一个循环用来取出被判断数 从2开始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二个循环是用来判断这个数是否为质数并返回,从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;
}
匿名用户
推荐于2018-02-28
展开全部
#include <stdio.h>
#include <math.h>
void main()
{ int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0) {w=0;break;}
if (w) {
++n;
if (n%10==0) printf("%d\n",i);
else printf("%d\t",i);
}
}

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式