c语言求100以内的素数

我们c语言老师布置作业:求100以内的素数。希望哪位大哥帮忙写一下。另我是新学的?所以希望尽量写简单点,最好附注释... 我们c语言老师布置作业:求100以内的素数。希望哪位大哥帮忙写一下。另我是新学的?所以希望尽量写简单点,最好附注释 展开
 我来答
百度网友324ede9
推荐于2018-02-10 · TA获得超过823个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:296万
展开全部
#include "stdio.h"
void main()
{
for(int i=2;i<=100;i++)/*确定范围:2——100*/
{
for(int k=2;k<i;k++)
{
if(i%k==0)break;/*如果找到一个不是1或者它本身的因子,则停止该循环,此时k<i*/
}
if(k==i)printf("%d\n",i);/*当k=i时表明i不存在除1和本身以外因子,因而它是素数,打出来*/

}
}
BP哥1
推荐于2017-10-12 · TA获得超过1398个赞
知道小有建树答主
回答量:572
采纳率:100%
帮助的人:241万
展开全部

这个问题是C语言中比较常见的一种题目,做法有很多中,我这里提供一种最基础的算法,代码如下:

//C语言:求100以内素数。

#include<stdio.h>
voidmain(){
inti,j;
for(i=2;i<=100;i++){
intt=1;
for(j=2;j<i;j++){
if(i%j==0){
t=0;
break;
}}
if(t==1)
printf("%d",i);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
翡翠森林的白明
2018-05-22 · TA获得超过1140个赞
知道答主
回答量:0
采纳率:82%
帮助的人:0
展开全部

#include<stdio.h>

//输出100之内的所有素数

int main()

{

int i;

int j;

int flag = 1;


for(i = 2;i <= 100;i++)

{

for(j = 2;j <= i / 2;j++)

{

if(i % j ==0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

printf("%d\n",i);

}

flag = 1;


}

return 0;

}

  1. C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言;

  2. 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石水2
2010-01-23 · TA获得超过2173个赞
知道小有建树答主
回答量:940
采纳率:100%
帮助的人:919万
展开全部
#include <stdio.h>
int main()
{
int prime_flag[101];
int i,j,h=0;
for(i=1;i<=100;i++)
{ prime_flag[i]=i;
}// 假定所有的数都是,则有100个素数 ,赋值

// 如果数不是素数,那么将它置0排除!!!!
for(i=2;i<50;i++)
{ for(j=i+1;j<=100;j++)

//如果未置0的数J( prime_flag[j]) 能被比它小但比1大的数整除,那么它不是素数,置0排除
{if(prime_flag[j]&& j%i==0)
prime_flag[j]=0;
}
}
printf("100以内的素数有:");
printf("\n");
for (i = 2; i <= 100; i++) //1不是素数,从第二个数开始
{ if(prime_flag[i]) //如果它不是0,那么它就是素数
printf("%-4d",prime_flag[i]);
}
system("pause");
return 0;
}

找来的,这个程序不错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友18a5f2b92
2010-01-23 · TA获得超过660个赞
知道小有建树答主
回答量:256
采纳率:100%
帮助的人:241万
展开全部
#include<stdio.h>
void main()
{ int i,j;
for(i=2;i<100;i++) //可以不用考虑从2到100开始
for(j=2;j<100;j++)
if(i%j==0)
break; //试商法如果整除就结束本次循环i加1后在循环
if(j==101)
printf("%d",i);//当j=101说明不能被1~100整除输出是素数
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(18)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式