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

数组最多只存放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;
}

猜你喜欢

转载自blog.csdn.net/yooppa/article/details/114212063