C语言谭浩强版数组课件

上传人:公**** 文档编号:570258703 上传时间:2024-08-03 格式:PPT 页数:35 大小:512.50KB
返回 下载 相关 举报
C语言谭浩强版数组课件_第1页
第1页 / 共35页
C语言谭浩强版数组课件_第2页
第2页 / 共35页
C语言谭浩强版数组课件_第3页
第3页 / 共35页
C语言谭浩强版数组课件_第4页
第4页 / 共35页
C语言谭浩强版数组课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言谭浩强版数组课件》由会员分享,可在线阅读,更多相关《C语言谭浩强版数组课件(35页珍藏版)》请在金锄头文库上搜索。

1、第七章第七章 数组数组引言引言7.1 一维数组的定义和引用一维数组的定义和引用7.2 二维数组的定义和引用二维数组的定义和引用7.3 字符数组字符数组 C语言谭浩强版数组引言引言一、数组的引入一、数组的引入为了便于处理一批类型相同的数据为了便于处理一批类型相同的数据, ,引入了数组类型引入了数组类型假设现在要求保存每个学生的假设现在要求保存每个学生的成绩成绩, ,那就不能只使用一个变量那就不能只使用一个变量s s了了, ,而需要而需要4040个变量个变量, ,但这样一但这样一来输入、输出、计算都会变得来输入、输出、计算都会变得繁琐繁琐. . 在这种情况下在这种情况下, ,我们可以我们可以使用数

2、组类型使用数组类型, ,说明一个含有说明一个含有4040个元素的数组个元素的数组, ,每个数组元素存每个数组元素存放一个成绩放一个成绩, ,成绩的输入、输出、成绩的输入、输出、计算都可通过循环来实现计算都可通过循环来实现例例: :某班有某班有4040名学生名学生, ,求该班成绩的平均分求该班成绩的平均分 #include main( ) int j , sum , s ; float ave ; sum=0; for(j=1; j=40 ; j+) scanf(“%d”,&s); sum=sum+s; ave=sum/40; printf(“ave=%f”,ave);C语言谭浩强版数组二、数组

3、的概念二、数组的概念1.1.数组数组: :由具有相同类型的由具有相同类型的 固定数量的元素组成的结构固定数量的元素组成的结构2.2.数组元素数组元素: :每一个数组元素每一个数组元素 都是一个变量都是一个变量, ,为了与一般为了与一般 的变量相区别的变量相区别, ,我们称数组我们称数组 元素为元素为下标变量下标变量3.3.下标变量在数组中的位置下标变量在数组中的位置 序号称序号称下标下标 #include main( ) int j , sum , s40 ; float ave ; sum=0; for(j=0; j=39 ; j+) scanf(“%d”,&sj); sum=sum+sj;

4、 ave=sum/40; printf(“ave=%f”,ave); C语言谭浩强版数组7.1 一维数组的定义和引一维数组的定义和引用用 一、一、 一维数组的定义一维数组的定义 1. 格式格式 : 类型标识符类型标识符 数组名数组名 常量表达式常量表达式 ; 例例: int a10 ; 2. 说明说明 (1) 数组名是用户定义的标识符数组名是用户定义的标识符, 数组名表示了一个存储区的首地址数组名表示了一个存储区的首地址 (即第一个数组元素的地址即第一个数组元素的地址) (2) 数组长度数组长度 : 指数组中元素的个数指数组中元素的个数 (3) 数组元素的下标由零开始数组元素的下标由零开始 数

5、组数组a 有有10个元素个元素: a0 , a1 a9 (4) 常量表达式中不能包含变量常量表达式中不能包含变量, 常量表达式的值不能是实数常量表达式的值不能是实数 84 : 66 80 95101010121014 :1028a0a1a2 :a9C语言谭浩强版数组二、二、 数组元素的引用数组元素的引用 1. 引用形式引用形式 : 数组名数组名 下标下标 注意注意: 如果出现如果出现 a5 = 72 ; 编译时不会编译时不会 指出错误指出错误, 系统会将系统会将a4后下一个后下一个 存储单元存储单元 赋值为赋值为72, 但这样可能但这样可能 会破坏数组以外其他变量的值会破坏数组以外其他变量的值

6、 84 75 66 80 9510101012101410161018a0a1a2a3a472a51020假设这个存储空间是假设这个存储空间是变量变量x的的, 实际上实际上a5是是不存在的不存在的, 如果执行了如果执行了a5=72, 会将会将x原有的原有的正确数据覆盖掉正确数据覆盖掉2. 说明说明(1) 下标可以是整型常量或整型表达式下标可以是整型常量或整型表达式 如如: a1 , a2*3(2) 数组定义为数组定义为 int a5 , 数组长度为数组长度为5 而下标在而下标在0 - 4之内之内, 即即a0 - a4C语言谭浩强版数组三、三、 一维数组的初始化一维数组的初始化1. 概念概念 :

7、 在定义一维数组时对各元素指定初始值称为在定义一维数组时对各元素指定初始值称为 数组的初始化数组的初始化 如如: int a5 = 1 , 3 , 5 , 7 , 9 ;2. 说明说明 (1)对数组的全体元素指定初值对数组的全体元素指定初值, 初值用初值用 括起来括起来, 数据数据 之间用逗号分开之间用逗号分开. 在这种情况下在这种情况下, 可以不指明数组的可以不指明数组的 长度长度, 系统会根据系统会根据 内数据的个数确定数组的长度内数据的个数确定数组的长度 如如 : int a = 1 , 3 , 5 , 7 , 9 ;(2) 对数组中部分元素指定初值对数组中部分元素指定初值 ( 这时不能

8、省略数组长度这时不能省略数组长度 ) 如如 : int a5 = 1 , 3 , 5 ; (3) 使数组中的全部元素初始值都为使数组中的全部元素初始值都为 0 如如: int a5 = 0 , 0 , 0 , 0 , 0 ;更简单的写法更简单的写法: int a5= 0 ;C语言谭浩强版数组例例1: 输入一个数据,在已知数组中查找是否有该数据输入一个数据,在已知数组中查找是否有该数据 5 8 0 1 9 2 6 3 7 4x 9a0a1a2a3a4a5a6a7a8a9 main() int i , x ; int a10= 5, 8, 0, 1, 9, 2, 6, 3, 7, 4 ; scan

9、f(“%d”, &x); for ( i=0 ; i10 ; i+) if ( x=ai ) printf(“find!n”); break; if ( i=10 ) printf(“no find!n”); C语言谭浩强版数组例例2: 用数组求用数组求fibonacci(斐波纳契斐波纳契)数列的前数列的前20个数个数main( ) int i , f20=1,1; for ( i=2 ; i20 ; i+) fi=fi-2+fi-1; for ( i=0; i20 ; i+) if ( i%4=0 ) printf(“n”); printf(“%6d”, fi ); 1 1 0 0 0 0

10、: 0f0f1f2f3f4f5 :f1923586765i=2f2=f0+f1i=3f3=f1+f2i=4f4=f2+f3C语言谭浩强版数组例例3: 用冒泡排序法对用冒泡排序法对6个数进行排序个数进行排序(从小到大从小到大) 9 7 2 5 4 1a0a1a2a3a4a5 7 2 5 4 1 9277547 1 2 5 4 1 7 945 15 2 4 1 5 7 9 2 1 4 5 7 91412冒泡排序方法冒泡排序方法: : 依次比较相邻的两个数依次比较相邻的两个数, ,将小数放前面将小数放前面, ,大数放后面大数放后面. n. n个数排序需要进行个数排序需要进行n-1n-1轮比较轮比较,

11、 , 从第从第1 1轮到轮到第第n-1n-1轮轮, , 各轮的比较次数依次为各轮的比较次数依次为:n-1:n-1次、次、n-2n-2次次 1 1次次 9 7 2 5 4 1 9999972541初始状态初始状态第第1轮轮第第2轮轮第第3轮轮第第4轮轮第第5轮轮7C语言谭浩强版数组#include main( ) int a6 , i , j , t; for ( i=0 ; i6 ; i+) scanf(“%d”, &ai ); for ( i=0 ; i5 ; i+) for ( j=0 ; jaj+1 ) t=aj ; aj=aj+1 ; aj+1=t ; for ( i=0 ; i6 ;

12、 i+) printf( “%3d”, ai );输入输入6个数据个数据用嵌套的用嵌套的for循环实现排序循环实现排序外层循环控制进行几轮比较外层循环控制进行几轮比较内层循环控制每一轮的比较次数内层循环控制每一轮的比较次数如果前面的数大于后如果前面的数大于后面的数面的数,则进行交换则进行交换输出排序后的输出排序后的6个数据个数据C语言谭浩强版数组 9 7 1 2 4 5a0a1a2a3a4a5 7 1 2 4 5 9 1 2 4 5 7 9 1 2 4 5 7 9 1 2 4 5 7 9第第1轮轮第第2轮轮第第3轮轮第第4轮轮第第5轮轮 1 2 4 5 7 9从这道例题中我们发现从这道例题中我

13、们发现, ,在进行完第二轮比较后在进行完第二轮比较后, ,实际上实际上排序已经完成了排序已经完成了, ,从第三轮开始从第三轮开始, ,后面的比较都是多余的后面的比较都是多余的, ,在这种情况下我们希望可以终止比较在这种情况下我们希望可以终止比较. .初始状态初始状态C语言谭浩强版数组为了解决问题为了解决问题, ,我们在程序中我们在程序中设置一个变量设置一个变量flag,flag,用它记录用它记录在一轮比较中是否进行了交换在一轮比较中是否进行了交换在每轮比较开始前在每轮比较开始前flag=0,flag=0,如如果在此轮比较中进行了交换果在此轮比较中进行了交换, ,则则flag=1,flag=1,

14、在一轮比较结束后在一轮比较结束后, ,判断判断flagflag的值是否为的值是否为1,1,如果值如果值为为0,0,说明在此轮比较中没有进说明在此轮比较中没有进行交换行交换( (即已经完成排序了即已经完成排序了),),此时可以终止循环此时可以终止循环( (即结束排即结束排序序) )如果如果flagflag的值为的值为1,1,则要继则要继续进行排序续进行排序#include main( ) int a6 , i , j , t , flag; for ( i=0; i6; i+) scanf(“%d”, &ai ); i=0 ; do flag=0; for ( j=0 ; jaj+1 ) t=a

15、j ; aj=aj+1 ; aj+1=t ; flag=1; i+ ; while ( flag ) ; for ( i=0 ; i6 ; i+) printf( “%3d”,ai );C语言谭浩强版数组7.2 二维数组的定义和使用二维数组的定义和使用 一、一、 二维数组的定义二维数组的定义 1. 概念概念 : 一个一维数组一个一维数组, 它的每一个元素都是类型相同它的每一个元素都是类型相同 的一维数组的一维数组, 就形成一个二维数组就形成一个二维数组 2. 定义形式定义形式 : 类型标识符类型标识符 数组名数组名 常量表达式常量表达式1 常量表达式常量表达式2 如如: int a34 ; a

16、0a1a2a00a01a02 a03C语言谭浩强版数组 3. 存储形式存储形式 : 数组的元素在内存中是连续存放的数组的元素在内存中是连续存放的 int a33 ; 的存放形式如下的存放形式如下 : a10a11a12a20a21a22a00a01a02a00a01a02a10a11a12a20a21a22101010121014101610181020102210241026 二、二、 二维数组的引用二维数组的引用 数组元素的表示形式数组元素的表示形式 : 数组名数组名 下标下标 下标下标 注意注意 : (1) 每个下标都要用每个下标都要用 括起来括起来 如如 a 2 1 不能写成不能写成

17、a 2,1 (2) 下标不要超过定义的范围下标不要超过定义的范围C语言谭浩强版数组 三、三、 二维数组的初始化二维数组的初始化 1. 分行初始化分行初始化 int a34= 1, 2, 3, 4 , 5, 6, 7, 8 , 9, 10, 11, 12 ; 此方法较直观此方法较直观, 第一对第一对 内的数据赋给内的数据赋给 第一行数组元素第一行数组元素, 以此类推以此类推 2. 按数据的排列顺序对数组元素赋初值按数据的排列顺序对数组元素赋初值 int a34= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 将数据依次赋给元素将数据依次赋给元素 a00 , a01

18、a23 12345678910 11 12注意注意: 此方法数据没有明显的界限此方法数据没有明显的界限, 当数据较多时容易出错当数据较多时容易出错C语言谭浩强版数组3. 对数组的部分元素赋初值对数组的部分元素赋初值 int a34= 1,2 , 3 , 0,4 ; int a34= 1,2,3,4,5,6 ;120030000400123456000000 4. 对数组的全部元素赋初值时可以省略第一维的长度对数组的全部元素赋初值时可以省略第一维的长度 系统会根据数据的个数和第二维的长度自动求出系统会根据数据的个数和第二维的长度自动求出 第一维的长度第一维的长度 int a 4= 1, 2 ,

19、0, 3, 4 , 5 ; int b 2= 1, 2, 3, 4, 5, 6, 7, 8 ;数组数组a 第一维长度为第一维长度为 3 数组数组b 第一维长度为第一维长度为 4 四、二维数组程序举例四、二维数组程序举例C语言谭浩强版数组例例5: 5: 找出矩阵中最大的数找出矩阵中最大的数, ,并输出其行号和列号并输出其行号和列号52093712610418max0row0col59301212#include main( ) int i , j, row=0, col=0 , max ; int a34=5,2,0,9,3,7,12,6,10,4,1,8; max=a00; for ( i=0

20、 ; i3 ; i+ ) for ( j=0 ; jmax ) max=aij ; row=i ; col=j ; printf(“max=%dn”, max); printf(“max=a%d%dn”, row , col);输出输出:max=12max=a12C语言谭浩强版数组37126104185209例例6: 将一个矩阵进行转置将一个矩阵进行转置(即原来的行变为列即原来的行变为列)52093712610418#include main( ) int a34, b43 , i , j ; for ( i=0 ; i3 ; i+ ) for ( j=0 ; j4 ; j+ ) scanf(

21、“%d”, &aij ) ; for ( i=0 ; i3 ; i+ ) for (j=0 ; j4 ; j+) bji=aij; for ( i=0 ; i4 ; i+ ) for ( j=0 ; j3 ; j+ ) printf(“%5d”, bij ) ; printf(“n”); 输入数组输入数组a进行矩阵转置进行矩阵转置输出数组输出数组ba02b20a21b127.3字符数组C语言谭浩强版数组例例7 打印以下的杨辉三角形。打印以下的杨辉三角形。 (要求打印出(要求打印出10行)行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1. C语言谭浩强版数组 ma

22、in( ) int y1010, i, j; for(i=0; i10; i+) yi0=1; yii=1; for(i=2; i10; i+) for(j=1; j=i-1; j+) yij=yi-1j+yi-1j-1; for(i=0; i10; i+) for(j=0; j=i; j+) printf(“%5d”, yij); printf(“n”); C语言谭浩强版数组 main( ) int y1111, i, j; for(i=1; i=10; i+) yi1=1; yii=1; for(i=3; i=10; i+) for(j=2; j=i-1; j+) yij=yi-1j+yi

23、-1j-1; for(i=1; i=10; i+) for(j=1; j=i; j+) printf(“%5d”, yij); printf(“n”); C语言谭浩强版数组7.3 字符数组字符数组一、一、 字符数组和字符串字符数组和字符串 1. 字符数组定义字符数组定义 : char c10; 2. 字符串字符串: 由若干个有效字符组成的序列由若干个有效字符组成的序列 有效字符包括字母有效字符包括字母, 数字数字, 专用字符专用字符, 转义字符转义字符 如如 : “bfer” “a45-7” “mtkn”3. 字符串的存储字符串的存储 C语言中没有专门的字符串变量语言中没有专门的字符串变量,

24、因此字符串存放在因此字符串存放在字符数组中字符数组中, 字符串以字符串以“0”作为结束标志作为结束标志例例 : char c5 ; c0=O ; c1=K ; c2=! ;O K!O K!0 c0=O; c1=K; c2=!; c3=0 ;注意注意 : 字符数组与字符串并不相同字符数组与字符串并不相同C语言谭浩强版数组 二、二、 字符数组的初始化字符数组的初始化 1. 为数组中的元素指定初值为数组中的元素指定初值 char c8 = H,e,l,l,o ; 如果对数组全部元素指定初值如果对数组全部元素指定初值, 则可以省略数组的长度则可以省略数组的长度char c = H , e , l ,

25、l , o ;Hello0 0 0Hello2. 对字符数组指定字符串初值对字符数组指定字符串初值char c8 = “Hello” ;char c8 = “Hello” ; char c8 = H,e,l,l,o,0 ;三种形式等价三种形式等价char c = “Hello”;char c6=“Hello”; char c5 = “Hello” ;Hello0Hello0错误的初始化错误的初始化注意注意 : 初始化时数组的长度应足够大初始化时数组的长度应足够大, 确保可以容纳所有字符和结束标志确保可以容纳所有字符和结束标志0C语言谭浩强版数组三、三、 字符串的输入字符串的输入1. 输入单个字

26、符输入单个字符 char c8 ; int i ; scanf(“%c%c%c” , &c0, &c1, &c2 ) ; for ( i=0 ; i8 ; i+ ) scanf(“%c” , &ci ) ;2. 输入一个字符串输入一个字符串 scanf ( “%s” , c ) ; 说明说明 : 用格式字符用格式字符 %s 输入字符串输入字符串, 字符数组变量字符数组变量c不需要不需要 加地址运算符加地址运算符& , 因数组名本身代表数组的首地址因数组名本身代表数组的首地址注意注意 : (1) 从键盘输入字符串时不加从键盘输入字符串时不加“ ” (2) 用用scanf 输入字符串时输入字符串时

27、, 空格和回车符都会作为空格和回车符都会作为 字符串的分隔符,即字符串的分隔符,即scanf不能用来输入包含有不能用来输入包含有 空格的字符串空格的字符串 C语言谭浩强版数组3. 字符串输入函数字符串输入函数 gets ( 字符数组字符数组 ) 如如 : gets(c) ; 说明说明: 输入有空格的字符串时应使用函数输入有空格的字符串时应使用函数gets , 它会读入全部字符直到遇到回车符为止它会读入全部字符直到遇到回车符为止例例: int i ; char c8; for ( i=0 ; i8 ; i+ ) scanf(“%c”,&ci ) ; scanf(“%s” , c ) ; gets

28、 ( c ) ; 假设输入为假设输入为: abcd efgh abcdefgabcd 0abcdefgh 0注意注意: 用用gets输入字符串时输入字符串时, 若输入字符数目大于字符数组的若输入字符数目大于字符数组的 长度长度, 多出的字符则会存放在数组的合法存储空间之外多出的字符则会存放在数组的合法存储空间之外C语言谭浩强版数组四、四、 字符串的输出字符串的输出1. 输出单个字符输出单个字符 char c8 ; int i ; printf( “%c%c” , c0 , c1 ) ;for ( i=0 ; i8 ; i+ ) printf( “%c” , ci ) ;2. 输出字符串输出字符

29、串 printf( “%s” , c ) ;注意注意: 输出时不包括字符输出时不包括字符0, 如果一个字符串中有多个如果一个字符串中有多个0 则输出时遇到第一个则输出时遇到第一个0即认为字符串结束即认为字符串结束 3. 字符串输出函数字符串输出函数 puts ( 字符数组字符数组 ) 一次输出一个字符串一次输出一个字符串, 输出时将输出时将0自动转换成换行自动转换成换行符符 C语言谭浩强版数组例例: char s15=“abc”, s210=“defg” ; printf( “%s%sn” , s1 , s2 ) ; puts( s1 ) ; puts( s2 ) ;输出结果输出结果:abcd

30、efgabcdefg例例: int i ; char c8; gets ( c ) ; for ( i=0 ; i8 ; i+ ) printf(“%c”, ci ); printf(“n”) puts ( c ); printf(“%s”, c );假设输入为假设输入为: abcd efgh abcdefgh 0输出结果输出结果:abcd efgabcd efghabcd efghC语言谭浩强版数组五、字符串处理函数五、字符串处理函数 (使用字符串函数时要写使用字符串函数时要写#include )1. 字符串拷贝函数字符串拷贝函数 注意注意: C语言不允许用赋值表达式对字符数组赋值语言不允许

31、用赋值表达式对字符数组赋值 char s15=“abc” , s23 , s38 ; s2 = “abc” ; s3 = s1 ; /* 赋值与初始化不同赋值与初始化不同 */* 对对s2 , s3 的赋值都是非法的的赋值都是非法的 */希望字符数组希望字符数组s2或或s3中也存放字符串中也存放字符串“abc”不能用赋不能用赋值值而要用字符串拷贝函数而要用字符串拷贝函数 (1)格式格式 : strcpy( 字符数组变量字符数组变量1 , 字符串字符串2 )(2)作用作用 : 将字符串将字符串2中的字符复制到字符数组中的字符复制到字符数组1中中(3) 说明说明 : 字符数组字符数组1 必须足够大

32、必须足够大 字符串可以是字符串常量字符串可以是字符串常量, 也可以是字符数组变量也可以是字符数组变量 拷贝时拷贝时0也一起拷贝也一起拷贝C语言谭浩强版数组例例: char s15=“abc” , s23 , s38 ; strcpy ( s3 , s1 ) ; strcpy ( s2 , s1 ) ;abc0abc0s1s3abc0s2函数函数strncpy( 字符数组字符数组1 , 字符串字符串2 , n )作用作用: 将字符串将字符串2的前的前n个字符复制到字符数组个字符复制到字符数组1 中中例例: char c110 , c2 =“abcdef” ; strncpy( c1 , c2 ,

33、 3 ) ;c1abcdef0c2a b c 0C语言谭浩强版数组2. 字符串连接函数字符串连接函数(1) 格式格式: strcat ( 字符数组变量字符数组变量1 , 字符串字符串2 )(2) 作用作用: 将字符串将字符串2中的字符连接到字符串中的字符连接到字符串1 的后面的后面, 产生的产生的 新字符串仍存放在字符数组新字符串仍存放在字符数组1 中中 (3) 说明说明: 连接时将字符串连接时将字符串1 末尾的末尾的0将去掉将去掉 , 而在连接而在连接后的后的 新字符串末尾添加新字符串末尾添加0 注意注意: 字符数组字符数组1要足够大要足够大例例: char s110=“abc” , s2

34、=“def” ; strcat ( s1 , s2 ) ; strcat ( s1 , “gh” ) ; abc0def0s1s2def0 gh0C语言谭浩强版数组3. 字符串比较函数字符串比较函数 (1) 格式格式 : strcmp ( 字符串字符串1 , 字符串字符串2 )(2) 作用作用 : 比较两个字符串的大小比较两个字符串的大小(3) 说明说明 : 两个字符串可能是字符串常量或字符数组变量两个字符串可能是字符串常量或字符数组变量 两个字符串比较时两个字符串比较时, 从字符串中的第一个字符开始逐个从字符串中的第一个字符开始逐个 比较其比较其ASCII码值码值, 直到出现不同字符或出现直

35、到出现不同字符或出现0为为止止 比较的结果由函数值带回比较的结果由函数值带回str1 = = str2 函数值为函数值为0str1 str2 函数值为正数函数值为正数str1 str2 函数值为负数函数值为负数C语言谭浩强版数组例例: int n1 , n2 , n3 ; char s15 , s25 ; n1 = strcmp ( “abc” , “def” ) ; strcpy( s1 , “dfg” ) ; strcpy( s2 , “you” ) ; n2 = strcmp ( s1 , “def” ) ; n3 = strcmp ( s1 , s2 ) ; 字符字符a与与d比较比较n

36、1= - -3 ( 97- -100 )先先d与与d比较比较, 相同相同,然后然后f 与与e比较比较n2=1 ( 102- -101)字符字符d与与y比较比较n3= -21-21 (100- -121)dfg0you0s1s2C语言谭浩强版数组4. 测字符串长度函数测字符串长度函数 格式格式: strlen (字符串字符串) 作用作用: 测出字符串中实际字符的个数测出字符串中实际字符的个数( 不包括不包括0 )例例 : int len1, len2 ; char s10 ; len1 = strlen( “computer”) ; gets(s) ; len2 = strlen(s) ;5.

37、字符串中大、小字母转换字符串中大、小字母转换 strlwr ( 字符串字符串 ) 将字符串中大写字母换成小写字母将字符串中大写字母换成小写字母 strupr ( 字符串字符串 ) 将字符串中小写字母换成大写字母将字符串中小写字母换成大写字母C语言谭浩强版数组作业:7.3 7.4 7.5 7.11上机:7.6 7.10C语言谭浩强版数组作业6.14main()int i,j,k; for(i=0;i=3;i+) /*上面上面4行行*号号*/ for(j=0;j=2-i;j+) /*输出输出*前面空格前面空格*/ printf(“ “); for(k=0;k=2*i;k+) printf(“*”); printf(“n”); for(i=0;I=2;i+) / *下面下面3行行*号号*/ for(j=0;j=i;j+) printf(“ “); for(k=0;k=4-2*i;k+) printf(“*”); printf(“n”); C语言谭浩强版数组

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号