先审题,有个大概的基本思路。
首先我们要编写一个判断素数的函数(最好调用函数来求,尽量不要用for语句的嵌套),
int sushu(int n)
{
int i;
for(i=2;i<n;i++)//素数指除了1和它本身没有其他的数能被这个数整除的数。
{
if(n%i==0)
return 0;
}return 1;
}
(return ;是提前结束程序的好办法)
不是素数则返回0;是素数则返回1;
之后就照着题目填充主函数
此处省略)
(补充):
每行输出n个即输出到n的整数倍个数时要换行,可以用if语句来实现这个要求。
例:每行输出五个
if(num%5==0)
{
printf("\n");
}
源代码如下:
#include<stdio.h>
int sushu(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
{
return 0;
}
}return 1;
}
main()
{
int a[1000]={0};
int j,m,num=0;
for(j=101;j<301;j++)
{
if(sushu(j))
{
num++;
a[num-1]=j;
}
else continue;
}
printf("所有素数依次为:\n");
for(m=0;m<num;m++)
{
printf("%4d",a[m]);
if((m+1)%10==0)
{
printf("\n");
}
}
printf(" \n素数的个数为:%d\n",num);
}
求赞,求评论、点点你勤劳的小手!!!