输入整数m,将所有大于1小于整数m的素数存入所指定的数组中
程序员文章站
2022-07-14 23:51:38
...
数组最多只存放100个素数,超过则提示“overflow”
若输入的m≤0,则提示“error”,程序终止。
分析:
按要求来看:
整个程序分为:
输入目的数字,进行大于1小于此数的每个数进行判定是否为素数,若为则在先前定义的数组中存入且用特定数字变量如:cnt,作为信号看是否超过100.
之或做输出格式整理,多少个之后换行,算法问题。
代码展示:
#include <stdio.h>
int main(void)
{
int m, cnt = 0, i, j;
int array[101];
printf("Input:\nPlease input a number: \n");
scanf("%d", &m);
for (i = 2; i < m; i++)
{
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
if (j == i)
{
array[cnt++] = i;
}
if (cnt > 100)
{
break;
}
}
printf("Output:\n");
if (m <= 0)
{
printf("error!\n");
}
else if (cnt > 100)
{
printf("overflow!\n");
}
else
{
printf("n=%d\n", cnt);
for (i = 0; i < cnt; i++)
{
printf("%5d", array[i]);
if ((i + 1) % 15 == 0)
{
printf("\n");
}
}
printf("\n");
}
return 0;
}
上一篇: HOG ,SIFT 特征实现
下一篇: 用数组写出螺旋方阵