请编写一个程序,输入100以内的所有素数,要求每行仅输出5个素数

 我来答
White_MouseYBZ
2017-07-06 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6652万
展开全部

除2以外,素数皆为奇数,所以对2单独处理,从3开始,将100以内的奇数逐一进行素数考察,是则输出,不是则跳过。另设一计数变量控制换行,每输出5个素数添加一个回车。代码如下:

#include "stdio.h"
int main(int argc,char *argv[]){
int i,n,t;
printf("  2");//单独处理2
for(t=1,i=3;i<100;i+=2){//遍历3至100的奇数
for(n=3;n*n<=i;n+=2)//考察i是否为素数
if(i%n==0)
break;//若有1和自身以外的因子则在n*n<=i时跳出
if(i<n*n)//若n*n>i则i是素数
printf(++t%5 ? "%3d" : "%3d\n",i);//++t%5控制每行5个数
}
if(t%5)
printf("\n");
return 0;
}

运行结果如下:

匿名用户
2013-05-20
展开全部
#include <stdio.h>
#include <math.h>
main()
{
int a,i,flag,count=0;
for(a=1;a <=100;a++)
{
flag=0;
for(i=2;i <=sqrt(a);i++)
{
if(a%i==0)
{
flag=1;
break;
}
if(flag==0)
{
printf( "%d ",a);
count=count+1;
}
if(count%5==0)
printft( "\n ");
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-20
展开全部
#include <stdio.h>int main()
{
int i,n,k,b;
for(i=1,b=1;i<=100;i++)
{
for(n=2;n<i;n++)
{
k=i%n;
if(k==0)
break;
}
if(n==i)
{
b++;
printf("%d ",i);
}

if(b>8)
{
printf("\n");
b=1;
}

}printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式