用C语言编写一个程序,输出100以内的所有的素数.要求每行仅输出5个素数.

帮帮忙啊

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

#include "stdio.h"

int main(int argc,char *argv[]){

int i,n,t;

pr

#include

#include

main()

{

int a,i,flag,count=0;

for(a=1;a <=100;a++)

{

flag=0;

for(i=2;i

#include int main()

{

int i,n,k,b;

for(i=1,b=1;i<=100;i++)

{

for(n=2;n {

k=i%n;

if(k==0)

break;

}

扩展资料:

C语言注意事项:

1、预编译命令不是语言语句,不使用分号,不占用运行时间。

2、在IDE中通常包括编辑器,编译器,汇编器和链接器,在这个过程中是语言等级逐级降低的过程,从最高级的c语言到中级语言汇编语言再到低级语言机器语言,编辑器生成文件为.c文件,编译器生成的文件为obj汇编器生成的文件为.0文件,链接器生成的是exe文件。

3、注意 return和exit的区别, return是让本函数运行结束,而exit是让本程序运行结束。

4、在指针定义时,一定要进行初始化,否则就会出现意想不到的错误,如果不能找到对应地址赋值,那就赋给NULL(注意大写)。

5、gets可以 scanf办成办不成的事,就是可以接受空格,puts在最后会输出一个换行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-04-24
int i, j, n=100, m=1, temp=1;
for(i=2;i<n;i++){
temp = 1;
for(j=2;j<i/2;j++){
if(i%j==0){
temp = 0;
break;
}
}
if(temp==1){
printf("%d", i);
if(m>=5){
printf("\n");
m = 1;
}
m++;
}
}本回答被提问者采纳
第2个回答  推荐于2018-03-04
楼上的效率差点,把内层for循环的j<i/2改为j<=sqrt(i)更好,(sqrt虽然稍慢点,但是多做sqrt(i)+1~i/2步循环更慢!本回答被网友采纳
相似回答