实验目的
实现求1到某个数字之间所有的素数并将其输出
实验要点
素数是指不能被整除的数,1不是素数
实验步骤
1.打开VS2010,创建新项目,选择空项目并命名,在源文件中添加新建项,选择C++文件并命名,后缀为.cpp
2.敲代码时先写出基础框架
# include <stdio.h>
int main()
{
return 0;
}
3. 在纸上写出大致思路:首先需要定义几个变量(先定义两个不够再加),然后用户需要输入(scanf)一个值,用for循环将从1到这个数之间的所有数字输入,再用for循环依次判断数字是否为素数,代码如下:
#include <stdio.h>
int main(void)
{
int i,j,m;//i是输入值,j是辅助输入1到某数字的所有数,m辅助判断是否为素数
scanf_s("%d",&i);
for(j = 2;j <= i;j++)
{
for(m = 2;m < j;m++)
{
if(j%m == 0)//存在因数则非素数
break;
}
if ( m == j )//判断1到某数字之间没有因数,即某数字等于它本身,其中也包含2
printf("%d\n",j);
}
return 0;
}
4.实验结果(若运行时cmd没有显示且没有报错,可以右键点击总工程名,点击属性,修改链接器下的系统中的子系统,选择控制台 (/SUBSYSTEM:CONSOLE)然后应用确定):
实验小结
在写第一个for循环时大括号没写,导致循环出现错误,当时没有报错,很久找不出原因,通过对比郝斌老师的C语言入门源代码才找出错误,今后要更加严谨一点,在循环后第一时间加大括号,并准确选择需要循环的代码。
在敲这个代码时学习的是郝斌老师讲的如何在软件开发中合理选择函数,在bool类型用法上遇到困难,百度后初步理解为C语言中没有bool类型,函数调用虽然没有尝试成功但已掌握基本方法,仅需注意被调函数只有在函数声明时才能加;。