素数输出

来源:百度知道 编辑:UC知道 时间:2024/09/25 07:17:56
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入2 个正整数m和n(1<=m,n<=500),输出m 和n之间的所有素数,每行输出8个(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
要求定义并调用函数prime(m)判断m是否为素数。
输出语句:
printf("%d ", i);
printf("\n");
例:括号内是说明
输入:
1 (repeat=3)
1 35 (m=1, n=50)
输出:
2 3 5 7 11 13
17 19 23 29 31

#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int count, i, m, n, sum;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat;ri++){
scanf("%d%d", &m, &n);
/*---------*/
printf("\n");
}
}
/*---------*/
谢谢~~~

#include "stdio.h"
#include "math.h"
int main( )
{
int ri,repeat;
int count, i, m, n, sum;
int prime();

printf("请输入要执行的次数:"); //输入你的执行次数
scanf("%d", &repeat);

for(ri = 1; ri <= repeat;ri++)
{
scanf("%d%d", &m, &n);
count=0; //这个count=0是初始化
for(i=m;i<=n;i++) //把i定义在m到n之间
{
sum=prime(i); //调用prime函数,把i作为变量传递
if(sum) //返回sum值,0或1
{ if(i!=1) //1不是素数,所以加了这句
{ printf("%-5d",i); //打印素数
count++; } //计数变量+1(前提是i是素数)
}
if(count%8==0&&count!=0)
{ printf("\n");
count=0;} //打完一行后count置0,不然会打很多空行
}
/*---------*/
printf("\n");
}
}
/*---------*/
int prime(int i) //判断素数函数
{
int j,k;
k=(int)sqrt(i);
for(j=2;j<=k;j++)