前言
如何实现用C语言输出1~100之间的素数
一、实现逻辑
如何判断一个数是不是素数
1、生成1-100的数
2、素数只能被1和本身整除,所以可以用 2 到 本身-1 的数去试除, 如果能被整除则说明它不是素数。
二、参考代码
代码如下(示例):
//输出1-100之间的素数
#include <stdio.h>
int main(void)
{
int i = 0;//用i生成1-100的数
int j = 0;//用来生成2到本身-1的数
for (i = 1; i <= 100; i++)
{
int n = 1;//如果n还等于1则表示i是素数
for (j = 2; j <= i - 1; j++)
{
if (i % j == 0)//如果i能被j整除的话,则表示它不是素数
{
n = 0;//如果i为素数,n就会被赋值为0,并跳出由j控制的这层循环
break;
}
}
if (1 == n)
{
printf("%d ", i);
}
}
return 0;
}
总结
我当时在写这个代码的时候犯了一个错误,我把n的初始化放到了循环外面,导致测试的时候没有输出值。仔细想想,首先i = 100,而100不是素数,所以n被赋值为了0,接着往下执行的时候n就还是0。