作业帮 > 综合 > 作业

输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“overflow”)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 00:49:02
输入整数m,将所有大于1小于整数m的素数存入所指定的数组中(数组最多只存放100个素数,超过则提示“overflow”),输出素数的个数n及各素数——素数的输出格式为每个素数5列宽、右对齐、每行显示15个.若输入的m≤0,则提示“error”,程序终止.注:素数(Prime Number),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.
#include
int main (void)
{
\x05int m,aa[101],i,j,n = 0,flag = 0,count = 0;
\x05printf("input a number:");
\x05scanf("%d",&m);
\x05if (m
#include<stdio.h>

int main (void)
{
int m, aa[101], i, j, n = 0, flag = 0, count = 0;
int overflowflag = 0;

printf("input a number: ");
scanf("%d", &m);
if (m <=0)
{
printf("error");
}
else
{
for (i=2; i<m; i++)
{
flag = 0;
for (j=2; j<i; j++)
{
if (i % j == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
{
count++;
  if (count > 100)
{
printf("overflow");
overflowflag = 1;
break;
}
aa[n] = i;
n++;
}
}

if (overflowflag == 0) {
printf("n=%d\n", count);
for (n=0; n<count; n++)
{
printf("%5d", aa[n]);
if ((i + 1) % 15 == 0)
{
printf("\n");
}
}
}
}

return 0;
}
再问: 还是不行,输出的时候一行有16个数
再答: if ((i+1)%15==0) 改为 if ((n+1)%15==0)