学的比较慢,今天学到了嵌套的循环,会加快点进度的,先详解一个循环案例吧,输出前50个素数。
1.先从辨别一个数是否为素数开始
完整代码为
#include <stdio.h>
int main()
{
int a;//着手输入要判断是否为素数的值
scanf("%d", &a);//输入
int i; //保存一个要被除的变量,参考素数的含义
int isprime = 1;
for (i = 2; i < a; i++)//这里用for循环,较为简洁
{
if (a % i == 0) //能整除说明不是素数
{
isprime = 0;
break;//找到一个可以判断不是素数的值就可以了,不用循环,此处用break跳出循环
}
}
if (isprime == 1)//用isprime的值来代表是否为素数,再做判断
{
printf("%d是素数\n", a); //是素数,输出
}
else
printf("%d不是素数\n", a);//不是素数,输出
return 0; } //结束
在我们已经可以判断一个数是否为整数时,我们可以着手来尝试输出前50个素数了,完整代码为
#include <stdio.h>
int main()
{ int a; //着手输入要判断是否为素数的值
int count = 0; //先令素数数量为0
for (a = 1; count < 50; a++) //对count进行循环,够50个素数则出循环
{
int i; //保存一个要被除的变量,参考素数的含义
int isprime = 1;//辅助判断是否为素数
for (i = 2; i < a; i++){//这里用for循环,较为简洁
if (a % i == 0) //能整除说明不是素数
{
isprime = 0;
break;
}
} if (isprime == 1)
{
printf("%d ", a)//输出素数,为了方便使每个素数隔一个空格
count++; //是素数则对count进1
}
}
return 0; //结束
}
以后继续努力