南京师范大学C语言第二讲
C语言程序设计课件第2章
也可以写成以下形式: 也可以写成以下形式: BEGIN: : t=1 i=2 while i<=20 {t=t*i i=i+1} pring t END
第2章 算法与算法描述
判定一个大于或等于3的正整数是否为素数 的正整数是否为素数, 例6. 判定一个大于或等于 的正整数是否为素数,用伪代码表示 算法如下: 算法如下: BEGIN: : input n flag=0 i=2 whlie i<=n-1 if n%i=0 then flag=1 else i=i+1 end if end do if flag=1 then print(“是素数”) 是素数” 是素数 else print(“不是素数”) 不是素数” 不是素数 end if
每次都将前一次的乘积乘以后面的数
第2章 算法与算法描述
例2 +20的值 求1+2+3+4+…+20的值,写出相应算法。 1+2+3+4+ +20的值,写出相应算法。
具体分析如下: 具体分析如下:
s为被加数,i为加数 ,将 为被加数, 每一步的和放到被加数中 算法如下: 算法如下:
每次都将前一次的和加上后面的数
第2章 算法与算法描述 x…x 20的值 的值, 例5 求1 x 2 x 3 x 4 x x 20的值,用伪代码表示算法
算法: 算法: 设置t的初值为1 设置t的初值为1 设置i的初值为2 设置i的初值为2 当i<=20,执行下面操作: i<=20,执行下面操作: 使t=t*i 使i=i+1 (循环体到此结束) 循环体到此结束) 打印t 打印t的值
开始 t=1 i=2 t=t*i i=i+1 真 i<=20 假 输出t 输出t 结束
【专业课真题】南京师范大学2005—2008年C语言与Web真题
2005年一、填空题1、描述“一个整数n能被3或7整除”的C语言逻辑表达式为( ).2、C语言中的标识符只能由()三种字符组成,且第一个字符()3、C语言中,if和#if得差别在于()4、以下程序的运行结果是()#define ADD(x,y)x+yV oid main(){Printf(“%d\n”,ADD(1,2)*ADD(3,4));}5、如下函数将字符t中的内容拷贝到字符串s中,只允许使用一个C 语言语句来实现该函数,该语句是()V oid mystrcpy(char *s,char *t){( )}6、使用fopen函数打开位于当前目录的上一级目录下的文本文件text.txt(仅读),并返回一个文件指针的语句是()7、任何一个HTML标记都可以有title,style,id和()等四种属性。
8、为了让一个表格单元格中的文字以一行显示(即不换行),可以在td标记中使用()属性9、在HTML语言中, 表示(),>表示()10、在HTML语言中,可以使用()和()两种方法来指定颜色11、在HTML语言中,div和span标记的作用是()12、与不使用CSS相比,使用CSS来控制Web页面的布局和外观,其好处之一是()13、为了阻止浏览器对表单中的不合格数据进行提交,可以为该表单的()事件处理器增加一个Javascrip/VBScript脚本函数,当该函数返回一个()值时,该表单就不会被提交14、XML文档的文档结构是由()和()来确定的15、DOM是()的缩写,DOM的作用是()二、选择题1、设int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是()A、1,5,7B、1,6,7C、1,5,6D、0,5,72、使用C语言描述关系表达式a≤x<b,正确的描述是()A、a<=x<bB、x>=a&x<bC、x>=a&&x<bD、a<=x&&<b3、已知c是字符型变量,下面不正确的赋值语句是()A、c=2+3;B、c=‟2+3‟ ;C、c=‟\2‟+3;D、c=‟2‟+‟3‟;4、若有变量定义:int *p,m=2,n; 以下正确的程序段是()A、p=&n; scanf(“%d”,&p);B、p=&n; scanf(“%d”,*p);C、scanf(“%d”,&n);*p=n;D、p=&n;*p=m;5、如下程序的的运行结果是()Main() {Char a[]=”programming”,b[]=”language”;Char *p1=a,*p2=b;Int i;For(i=0;i<7;i++)If(*(p1+i)==*(p2+i))Printf(“%c”,*(p1+i));}A、gmB、rgC、orD、ga6、设有以下语句,则()不是对a数组元素的正确引用Int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i=9;A、*(*(a+i))B、*(&a[i])C、p[i]D、a[p-a]7、如下程序的运行结果是()Typedefunion{long x[2];int y[4];char z[8];} type;Type type;Main(){Printf(“%d\n”,sizeof(type));}A、32B、16C、8D、不能确定8、以下不能正确定义二维数组的选项是()A、int a[2][2]={{1},{2}};B、int a[2][]={{1,2},{3,4}};C、int a[2][2]={{1},2,3};D、int a[][2]={1,2,3,4};9、设有定义int a[5][5],*b[5],(*c)[5]; 则a,b,c被分别称为是()A、数组、数组指针、指针数组B、数组、指针数组、指针函数C、数组、数组指针、函数指针D、数组、指针数组、数组指针10、Web浏览器用户不可以查看到一个网页的()A、HTML源码B、ASP源码C、Javascript源码D、CSS源码11、以下对GIF图像文件描述不正确的是()A、支持多达65536种颜色B、支持透明色C、仅支持256种颜色D、支持动画12、HTTP中的Cookie是()A、浏览器放在服务器端的小段数据B、服务器放在浏览器端的小段数据C、用户通过浏览器中的表单提交给服务器的小段数据D、用户通过浏览器页面从服务器端获得的小段数据三、C语言大题1、编写一个完整的C语言程序,它能够将键盘输入的10进制数以16进制格式输出。
c语言程序设计(包云)c第2章算法-PPT精选文档
本门课程重点讲述算法的设计。(注意数据结构这门课程)
2019/3/15
第2章 程序的灵魂-算法
4
2.1 算法的概念
3.算法的概念
广义地说,为解决一个问题而采取的方法和步骤,就称为
算法。(用计算机解决问题的步骤,即计算机算法。) 计算机算法可分为两大类:
数值算法 求方程的根 求函数的定积分 非数值算法 算法解决"做什么"和"怎么做"的问题。 图书一些常用的流程图符号:
起止框 输入输出框 判断框 或 处理框 流程线 连接点 注释
2019/3/15
第2章 程序的灵魂-算法
12
用流程图表示算法举例 例2.3 计算1x3…x11的值
步骤1:令p=1
步骤2:令i=1 步骤3:使p x i,并将乘积放入p
开始 1=>p
#include “stdio.h” void main( ) { int a,b,c; scanf("%d,%d",&a,&b); if (a>b) c=a; else c=b; printf(“max=%d\n",c); }
数据和操作的关系:
对操作的描述:即操作步 骤,也就是算法。
数据是操作的对象,操作的目的是对数据进行加工,以得到期望的结果。
• 顺序结构:
虚线框内是一个顺序结构。
A
AB两个框是顺序执行的: 按图中所画的框的顺序,先执 行A操作,再执行B操作。
B
2019/3/15
第2章 程序的灵魂-算法
15
三种基本结构-选择结构
• 选择结构
成立 条件P 不成立
虚线框内是一个选择结构,也称为分支 结构。 此结构包括一个选择框,框中写有一个 条件,根据给定的条件是否成立,从而 选择执行A框还是B框。
大学C语言教程课件
功能
大于、小于、大于等 于、小于等于
等于 不等于
优先级
结合性 自左向右
自左向右
大学C语言教程课件
2. 关系表达式
(1)用一个关系运算符连接两个算术或赋值表达式 a+b>=c-d x==y score>90
(2)用“==”或“!=”连接两个关系表达式 x>y!=y<z a+b==c+d
#include <stdio.h> void main() { int a=3,b=5,c=15,d=2; printf("%d\n",6-a*b/c%d); printf("%d\n",++a-a++); printf("%d\n",a); }
大学C语言教程课件
(2)自动类型转换规则
① C编绎系统先将所有的char和short int都转换成int,所有的 float都转换成double。 ② 如果表达式中只含同类型的运算量,则直接进行运算,运算 结果即表达式的值也是同类型的。
//后缀
101
printf("%d\n",a);
100
}
大学C语言教程课件
3. 算术表达式求值规则
(1运算的优
先次序
②结合性:同一优先级的运算符同时出现在同一表达式中时,进
行运算的顺序
运算符
功能
优先级 结合性
+ - ++ -- 正号 负号 自加 自减
i++; 及
++i; 运算后,i的值均为6。
C语言第2章讲义
第 二 章 程 序 设 计 基 础
C 语 言 程 序 设 计 教 程 第 二 版
C语言的特点
简洁紧凑、 简洁紧凑、灵活方便 运算符丰富 C语言一共只有 多个关键字,9 语言一共只有30 数据结构丰富 30多个关键字,9种控制语句,程序书写 C的运算符包含的范围很广泛,共有种34个运算符。C 的运算符包含的范围很广泛,共有种34个运算符。C 自由,主要用小写字母表示。它把高级语言的基本结构 C是结构式语言 语言把括号、赋值、强制类型转换等都作为运算符处理。 和语句与低级语言的实用性结合起来。C 和语句与低级语言的实用性结合起来。C语言可以象汇 C的数据类型有:整型、实型、字符型、数组类型、 语法限制不太严格、 C语法限制不太严格、程序设计自由度大 结构式语言的显著特点是代码及数据的分隔化,即程 从而使C 从而使C的运算类型极其丰富表达式类型多样化,灵活 编语言一样对位、字节和地址进行操作,而这三者是计 指针类型、结构体类型、联合体类型等。能用来实现各 语言允许直接访问物理地址, C语言允许直接访问物理地址,可以直接对硬件进行操作 序的各个部分除了必要的信息交流外彼此独立。这种结 使用各种运算符可以实现在其它高级语言中难以实现的 一般的高级语言语法检查比较严,能够检查出几乎所 算机最基本的工作单元。 种复杂的数据类型的运算。并引入了指针概念,使程序 语言程序生成代码质量高, C语言程序生成代码质量高,程序执行效率高 C语言既具有高级语言的功能,又具有低级语言的许 构化方式可使程序层次清晰,便于使用、维护以及调试。 运算(具体见后面的章节)。 有的语法错误。而C 有的语法错误。而C语言允许程序编写者有较大的自由 效率更高。另外C 效率更高。另外C语言具有强大的图形功能,支持多种 C语言适用范围大,可移植性好 多功能,能够象汇编语言一样对位、字节和地址进行操 C语言适用范围大, 语言是以函数形式提供给用户的,这些函数可方便的 度。 显示器和驱动器。且计算功能、逻辑判断功能强大。 具有预处理功能 作,而这三者是计算机最基本的工作单元,可以用来写 调用,并具有多种循环、条件语句控制程序流向,从而 一般只比汇编程序生成的目标代码效率低10~20%。 一般只比汇编程序生成的目标代码效率低10~20%。 C语言有一个突出的优点就是适合于多种操作系统, 具有递归功能 系统软件。 使程序完全结构化。 。也适用于多种机型,在一种计 如DOS、WINDOWS、UNIX DOS、WINDOWS、UNIX。也适用于多种机型,在一种计 算机上编写的程序,无须修改或经过很少的修改,就可 C语言提供了预处理器,程序可以利用宏指令提高可 以在其它类型的计算机上运行。 读性和可移植性。 C语言允许递归调用,在解决递归问题上具有独特优 势。
C语言第2版(第2章基本语句)
(5)空类型:用void表示。
对整数型,有四种修饰:
①signed(有符号) ②unsigned(无符号)
③long(长型)
④short(短型)
数据类型决定了数据的大小、数据可执行的操作 以及数据的取值范围。
整理ppt1章 引言
8
2.2 基本数据类型及取值范围
数据类型的长度和取值范围会随着机器的CPU类型 和编译器的不同而不同。
命名。建议取有实际意义的标识符来命名。
标识符的第1个字符必须是字母或下划线,标识符的长度可以是一 个或多个字符,最长不允许超过32个字符。
例如:
score、number12、student_name等均为正确的标识符;
8times、price/tea、low!valume等均不为正确的标识符。
注意:
±1.112 537×10−308
最大值
±3.402 824×1038 ±1.797 693×10308
整理ppt1章 引言
7
2.2 基本数据类型及取值范围
1. C语言提供5种基本数据类型。
(1)字符型:用char表示。
(2)整数型:用int表示。
(3)单精度实数型:用float表示。
(4)双精度实数型:用double表示。
C 语言规定:变量必须在使用之前定义。
变量定义的一般形式是:
<类型名> <变量列表>;
∙<类型名>必须是有效的C数据类型,如:int、 float等,类型名规定了变量的存储空间和取值范围。
∙ <变量列表>可以由一个或多个由逗号分隔的多个 标识符名构成。
整理ppt1章 引言
12
2.3 标识符、变量和常量
2022年南京师范大学公共课《C语言》科目期末试卷B(有答案)
2022年南京师范大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、结构化程序由________、________ 、________ 3种基本结构组成。
4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______6、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
7、函数swap(arr,n)可对arr数组从第1个元素到第n个元素分别进行两两元素交换。
在运行调用函数中的如下语句后,a[o]和a[1]的值分别为_______,原因是_______。
a[0]=1;a[1]=2;swap(a,2);8、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
9、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。
int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
C语言进阶-第二讲C语言复习
第二讲C语言复习凌明trio@东南大学国家专用集成电路系统工程技术研究中心还是先复习一下C吧!目录C概述数据类型、运算符、与表达式逻辑运算和判断选取控制循环控制函数预编译处理指针位运算C的历史在C语言诞生以前,系统软件主要是用汇编语言编写的。
由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言C语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。
80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSI C标准(1989年再次做了修订) C 的特点①语言简洁、紧凑,使用方便、灵活。
共有32个关键字,9种控制语句。
②运算符丰富,公有34种运算符。
③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。
④具有结构化的控制语句(如if…else 、while 、do…while 、switch 、for )⑤语法限制不太严格,程序设计自由度大。
⑥允许直接访问物理地址,能进行位(bit )操作,可以直接对硬件操作。
⑦生成目标代码质量高,程序执行效率高。
可移植性好。
C 的关键字C 语言的关键字共有32个:(1)数据类型关键字(12个):char, double, enum, float, int, long, short, signed, struct, union, unsigned, void(2)控制语句关键字(12个):break, case, continue, default, do, else, for, goto, if, return, switch, while(3)存储类型关键字(4个):auto, extern, register, static(4)其它关键字(4个):const, sizeof, typedef, volatile C 的语句与其它高级语言一样,C语言也是利用函数体中的可执行语句,向计算机系统发出操作命令。
南师大教育技术学考研笔记_C语言程序设计
iNote_C语言程序设计第一章:C语言概述1. C语言特点●语言简洁、紧凑,使用方便、灵活(32关键字| 9控制语句| 书写形式自由| 主要用小写字母)●运算符丰富(34 运算符| 括号、赋值和强制类型转换等都作为运算符来处理)●数据类型丰富,具有现代语言的各种数据结构(整型、浮点型、字符型、数组类型、指针类型、结构体类型、共同体类型等)●指针类型,十分灵活和多样化●具有结构化的控制语句●C语言完全是模块化和结构化的语言●语言限制不太严格,程序设计自由度大(“限制”&“灵活”限制严格,就失去灵活性;而强调灵活,就必然放松限制)●C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作●生成目标代码质量高,程序执行效率高(一般只比汇编程序生成的目标代码效率低10%~20%)●编写出的程序可移植性好(比汇编语言好)2. BASIC和FORTRAN语言都容易些对操作系统和系统实用程序以及需要对硬件进行操作的场合,用C语言明显优于其他高级语言,有的大型应用软件也用C语言编写。
NUIX操作系统与C语言不可分| 在数据结构课程中,多采用C语言作为背景语言。
3. C++语言 & C语言C++是为了解决编写大型软件的问题而产生的,学起来比C困难得多| 不是所有的人都去编写大型软件。
在发达国家的大学中,C语言仍然是大学生的一种基本选择| 掌握了C 语言,在学C++不会太困难。
4. 知识点总结1. /* */是C语言中的注释方式,亦可以使用//单行注释。
2. 函数是C程序中的基本单位,有利于实现程序的模块化。
第2章程序设计的灵魂——算法1. 什么是算法算法是对数据的操作| 广义地说,为了解决而采取的方法和步骤。
2. 算法的特性有穷性| 准确性| 0或N个输入| 1或N个输出| 有效性3. 流程图的构成1)表示相应操作的框;2)带箭头的流程线;3)框外必要的文字说明。
C语言程序设计第2章算法---程序的灵魂
否
输出 是
year%400为0 否year闰年输出year 闰年
输出year 非闰年
输出
year 非闰年
2020/7/9
苏州大学计算机科学与技术学院
16
第2章 小结
➢关键知识点
算法: 了解和积累自己的算法知识 算法的描述形式
传统流程图: 掌握 N-S流程图: 掌握
2020/7/9
苏州大学计算机科学与技术学院
闰年” ,然后转到S6 S5: 其他情况输出year的值和“不是闰年” S6: 停止
2020/7/9
苏州大学计算机科学与技术学院
10
传统流程图
➢流程图是用一些图框来表示各种操作 ➢用图形表示算法,直观形象,易于理解
起止框 输入输出框 判断框 处理框
流程线
连接点
注释框
2020/7/9
苏州大学计算机科学与技术学院
➢算法的描述方法有:
自然语言 传统流程图 结构化流程图 伪代码 ……
2020/7/9
苏州大学计算机科学与技术学院
8
算法描述方法
➢问题:
判定2012年是否为闰年,并将结果输出
➢闰年的条件:
能被4整除,但不能被100整除的年份都是闰年 ,如2008、2012、2048年
能被400整除的年份是闰年,如2000年 不符合这两个条件的年份不是闰年
2020/7/9
苏州大学计算机科学与技术学院
9
算法的自然语言描述
➢ 算法的自然语言描述如下:
S1:2000year S2:若year不能被4整除,则输出year 的值和“不
是闰年”。然后转到S6 S3:若year能被4整除,不能被100整除,则输出
南京师范大学考研C语言程序设计(含数据结构)历年真题试题(2003-2011)
南京师范大学考研C语言程序设计试题历年真题(2003-2011)目录2011年南京师范大学考研C语言程序设计(含数据结构)真题 (2)2010年南京师范大学考研C语言程序设计(含数据结构)真题 (3)2009年南京师范大学考研C语言程序设计(含数据结构)真题 (18)2008年南京师范大学考研C语言程序设计(含数据结构)真题 (29)2007年南京师范大学考研C语言程序设计(含数据结构)真题 (42)2006年南京师范大学考研C语言程序设计(含数据结构)真题 (52)2005年南京师范大学考研C语言程序设计(含数据结构)真题 (61)2004年南京师范大学考研C语言程序设计(含数据结构)真题 (69)2003年南京师范大学考研C语言程序设计(含数据结构)真题 (76)2011年南京师范大学考研C语言程序设计(含数据结构)真题1、编写一个程序,求用户输入的开始时间到终止时间之间相距的天数。
(本题15分)2、编写一个程序,利用递归法实现将用户输入的字符串逆序排列。
(本题15分)3、找出所有200以内(含200)满足I,I+4,I+10都是素数的整数I(I+10也在200以内)的个数以及这些数之和sum。
并把所有这些数、个数和sum按文本文件输出到文件out.dat中。
(本题20分)4、编写程序,判断两线段是否相交。
(本题20分)5、假设以带头节点的循环链表表示队列,并只设一个指针指向对尾元素节点(不设头指针),编写相应的队列初始化、入队列和出队列算法。
(本题20分)6、假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将表A和表B归并成一个按元素值非递减有序(允许值相同)排列的线性表C,并要求利用原表(即表A和表B)的结点空间存放表。
(本题20分)7、给定一棵树用二叉链表表示的二叉树,其中的指针t指向根结点,试写出从根开始,按层次遍历二叉树的算法,周层的结点按从左到右的次序访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t=b,b=c,c=t
输入a,b,c
结束
main() { int a,b,c,temp; scanf("%d,%d,%d",&a,&b,&c); if(b>a) {temp=a; a=b; b=temp; } if(c>a) {temp=a; a=c; c=temp; } if(c>b) {temp=b; b=c; c=temp; } printf("a=%d,b=%d,c=%d",a,b,c); }
2.1 算法 的概念与算法描述
算法:解决问题的方法和步骤 算法描述的方法:
1.自然语言;2. 流程图 3. N-S图 4. 伪代码 5. 程序设计语言
2.2 算法 举例
1.给出求1+2+3+…+100的一个算法
算法 第一步 第二步 第三步 第四步 按照逐一相加的程序进行. 计算1 + 2,得到3; 将第一步中的运算结果3与3相加,得到6; 将第二步中的运算结果6与4相加,得到10; 依次类推,直至加到100。
8. 求1-1/2+1/3-1/4+…+1/99-1/100 P23 图2.11
2.3算法的特点
1.有穷性 2.确定性 3.有0个或多个输入 4.有一个或多个输出 5.有效性
S←0 I←1 S←S+I
I←I + 1
I > 100
Y N
输出S
2.编写程序, 输入3个整数,求其中的最大数。
•输入3个整数放入a,b,c中,假设a中存放最大数 •a与b比较,若b大于a,则交换a,b •a与c比较,若c大于a,则交换a,c •输出a
也可以引入一个新变量max来放最大数
3.编写程序,使得任意输入3个整数按大到小的顺序输出。
第一步 输入3个整数a、b、c
第二步
第三步 第四步 第五步
将a与b比较,并把小者赋给b,大的赋给a;
将a与c比较,并把小者赋给c,大的赋给a 将b与c比较,并把小者赋给c,大的赋给b 按顺序输出a,b,c
开始 输入a,b,c
是
b>a?
否
t=a,a=b,b=t
是
c>a?
否
t=a,a=c,c=t
是
c>b?
5.求两个整数a和b的最大公约数——欧几里得辗转 相除法。
输入a,b
r←mod(a,b) a←b b←r
r=0
Y 输出a
N
6. 将50个学生中成绩在80分以上的 学号和成绩输出 P22 图2.8、2.9 7. 判定2000-2500年中的每一年是否 闰年。闰年的条件: (1)能被4整除,但不能被100整除; (2)能被100整除,但不能被400整。 P22 图2.10
4.判断整数i是否是素数
P23
用2,3,…i-1去除i,若都除不尽,则i为素数。
用2,3,… 去除i,若都除不尽,则i为素数。
输入i
k←int(sqrt(i))
n=2
r←mod(i,n) r=0
Y N
n=n+1
n>k
Y N
输出i不是素数
输出i是素数
找出1~100间的素数?
对1~100间的每一个数i判断其是否为素数。