欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言:输入整数m,将所有大于1小于整数m的素数存入所指定的数组中

程序员文章站 2022-07-14 23:51:08
...

时过一寒假当再看该题时居然把素数判定搞忘了…

  1. 代码展示
  2. 代码分析

代码展示:

#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)//从2开始到该数字,这个范围内,该数字能被整除,则不为素数
			{
				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;
}

代码分析:

部分分析在代码中
总体代码码写流程分为素数判定以及赋值,循环配合条件。
之后按规定,配合条件语句作输出。

极其简单,但又没码完整。