c语言求100以内的素数

我们c语言老师布置作业:求100以内的素数。希望哪位大哥帮忙写一下。另我是新学的?所以希望尽量写简单点,最好附注释

#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和本身以外因子,因而它是素数,打出来*/

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-12

这个问题是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);
}
}

第2个回答  2018-05-22

#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;

}

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

    质数(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#等。

本回答被网友采纳
第3个回答  2010-01-23
#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;
}

找来的,这个程序不错
第4个回答  2010-01-23
#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整除输出是素数
}
相似回答