c语言编程 找出10000以内所有的素数(质数),每10个数字一行。

如题所述

#include<stdio.h>

int main()

{

int i,j,k=0;

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

{

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

if(i%j==0)

break;

if(j*j>i)

{

printf("%d  ",i);

k++;

if(k%10==0)

printf("\n");

}

}

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt;文件名&gt;

2、#include"文件名"

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-01

#include<stdio.h>

int main()

{

int i,j,k=0;

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

{

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

if(i%j==0)

break;

if(j*j>i)

{

printf("%d  ",i);

k++;

if(k%10==0)

printf("\n");

}

}

}

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料:

百度百科-c语言

本回答被网友采纳
第2个回答  推荐于2018-02-27
#include <stdio.h>
#include <math.h>
int main(void)
{int x,k,flag,n=0; /*n用来控制每行输出10个数*/
for(x=2;x<=10000;x++)
{flag=1;
for(k=2;k<=sqrt(x);k++)
if(x%k==0) {flag=0; break;}
if(flag==1)
{if(n%10==0) printf("\n"); /*10个数一行*/
n++;
printf("%5d",x);
}
}
getchar();
}本回答被提问者和网友采纳
第3个回答  2013-04-28
#include<iostream>
#include<cmath>
using namespace std;
bool prime(int n)//判素数函数
{
if(n<=1)
return false;
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)
return false;
return true;
}
int main()
{
int counter=0;//计数器、
for(int i=0;i<10001;i++)
{
if(prime(i))//如果函数返回值不等于1则输出.
{
cout<<i<<" ";
counter++;
if(counter%10==0)
cout<<endl;
}
}
return 0;
}

第4个回答  2013-04-28
#include <stdio.h>
int f(int n);
int main()
{
int k=0;
for(int i=1;i<=10000;i++)
{
if(f(i))
{
printf("%d ",i);
k++;
if(k%10==0)
printf("\n");
}
}
return 0;
}
int f(int n)
{
if(n==1) return 0;
for(int j=2;j*j<=n;j++)
if(n%j==0) return 0;
return 1;
}追问

追答

#include <stdio.h>

int f(int n);

int main() 

{

int k=0;

for(int i=1;i<=10000;i++)

{

if(f(i))

{

printf("%6d",i);

k++;

if(k%10==0)

printf("\n");

}

}

return 0;

}

int f(int n)

{

if(n==1) return 0;

for(int j=2;j*j<=n;j++)

if(n%j==0) return 0;

return 1;

}

表示无语