五个数一行,怎么搞哇家人们
这是打印60以内所有素数,需要5个数一行,这五个数一行怎么搞啊?#include <stdio.h>
int main()
{
int i,j,num=0;
int flag=1;
for(i=3;i<60;i++)
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
num++;
}
if(num%5==0)
{
printf("\n");
}
printf("%5d ",i);
}
return 0;
} 除了换行,你的代码也不对
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,num=1;
int flag=0;
for(i=2; i<60; i++)
{
flag=1;
for(j=2; j<=i/2; j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
printf("%5d ", i);
if(num%5==0)
{
printf("\n");
}
num++;
}
}
return 0;
}
#include <stdio.h>
int main()
{
int i,j,num=0;
int flag=1;
printf("%5d ",2);
num=1;
for(i=3;i<60;i++)
{
flag=1;
for(j=2;j<=i/2;j++)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag)
{
num++;
printf("%5d ",i);
if(num%5==0)printf("\n");
}
}
return 0;
} ba21 发表于 2022-4-8 23:55
除了换行,你的代码也不对
<stdlib.h>需要用到这个头文件吗
嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗
不需要,但这应该不是重点,也不影响,主要是你的代码不正确。 #include <stdio.h>
int isPrime(int num){
if(num < 2) return 0;
else if(num == 2) return 1;
for(int n = 2; n < (num >> 1) + 1; n++){
if(!(num%n)) return 0;
}
return 1;
}
int main(){
for(int num = 0, m = 1; num < 60; num++){
if(isPrime(num)){
if(!(m%5)) printf("%d\n", num);
else printf("%d ", num);
m++;
}
}
return 0;
} 感谢各位,搞定啦 嘉加嘉www 发表于 2022-4-9 08:11
需要用到这个头文件吗
用不到,不过这2个头文件是最基本的头文件。 #include <stdio.h>
int main()
{
int i, j, num = 0;
//素数的定义:大于1且只能被1和它自身整数的数
for (i = 3; i < 60; i++)//打印0~60内的素数
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
break;
}
if (j >= i)
{
num++;
printf ("%2d ", i);
if (num % 5 == 0)
printf ("\n");
}
}
return 0;
}
页:
[1]