数组习题课(第12次课)

上传人:san****019 文档编号:70983462 上传时间:2019-01-19 格式:PPT 页数:28 大小:741.81KB
返回 下载 相关 举报
数组习题课(第12次课)_第1页
第1页 / 共28页
数组习题课(第12次课)_第2页
第2页 / 共28页
数组习题课(第12次课)_第3页
第3页 / 共28页
数组习题课(第12次课)_第4页
第4页 / 共28页
数组习题课(第12次课)_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数组习题课(第12次课)》由会员分享,可在线阅读,更多相关《数组习题课(第12次课)(28页珍藏版)》请在金锄头文库上搜索。

1、,第6章 数组习题课,关于“字符串“的处理函数,char str130=“Peoples Republic of “; char str2 =“China“; printf (“%s“,strcat(str1,str2) );,结果为:,Peoples Republic of China,P e o p l e s R e p u b l i c o f 0,C h i n a 0,str1,str2,P e o p l e s R e p u b l i c o f,str1,C h i n a 0,关于“字符串“比较小练习,x=strcmp(“abcdef“,“b“); 则x的值( ) A

2、) 大于0 B) 小于0 C) 等于0 D) 不确定,B,练习6.1 有一个3*4矩阵,找出每行中最大的元素并输出。,#include void main() int a4=19,21,7,11,14,6,15,18,25,37,45,16, i, j,max; printf(“原始矩阵为(按行显示)n“); for(i=0;i3;i+) for(j=0;j4;j+) printf(“%-4d“,aij); printf(“n“); printf(“各行的最大值为:n“); for(i=0;i3;i+) /按行求最大值 max=ai0; /max初始值为该行的第一个值 for(j=1;j4;j

3、+) if(maxaij) max=aij; printf(“第%d行:%dn“,i+1,max); ,25 3 10 18 8 56 7 16 31 9 55 28 46 11 15 5,转置前的矩阵:,for(i=1;i4;i+) for(j=0;ji;j+) t=aij; aij=aji; aji=t; ,练习6.2 编程实现以下44矩阵的转置。,练习6.2 编程实现以下44矩阵的转置。,#include void main() int a4=25,3,10,18,6,8,56,7,16,31,9,55,28,46,11,15,5; int i,j,t; printf(“转置前矩阵:n“

4、); for(i=0;i4;i+) for(j=0;j4;j+) printf(“%-4d“,aij); printf(“n“); for(i=1;i4;i+) for(j=0;ji;j+) t=aij; aij=aji; aji=t; printf(“转置后矩阵:n“); for(i=0;i4;i+) for(j=0;j4;j+) printf(“%-4d“,aij); printf(“n“); ,关于“第6章课后习题”,/将一维数组data中的数据反序存放,例如,原来的顺序为1,2,3,4,5。要求改为5,4,3,2,1一维数组逆置 #include #define N 5 void ma

5、in() int dataN=1,2,3,4,5,i,temp;,交换次数:,N/2 (数组元素的一半),/将一维数组data中的数据反序存放,例如,原来的顺序为1,2,3,4,5。要求改为5,4,3,2,1“逆置”算法填空 #include #define N 5 void main() int dataN=1,2,3,4,5,i,temp; printf(“n the original data is:“); for(i=0; ;i+) printf(“%d “, ); for(i=0; ;i+) /逆置数组元素的值 ; ; ; printf(“n the retrograde data

6、is:“); for(i=0; ;i+) printf(“%d “, ); ,datai,iN,temp=datai;,datai=dataN-i-1;,dataN-i-1=temp;,iN/2,iN,datai,/课后习题6.6杨辉三角形,1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ,规律:,(1)第1列为1; 对角线为1,(2)aij=,ai-1j+ai-1j-1,ai1=1;,假设行、列下标从1开始,则:,aii=1;,/i=110,/i=110 ,j=110,/课后习题6.6杨辉三角形 #include #define N 11 void m

7、ain() int aNN,i,j; for(i=1;iN;i+) ai1=1; aii=1; for(i=3;iN;i+) for(j=2;ji;j+) aij=ai-1j+ai-1j-1; printf(“10行10列的杨辉三角形:n“); for(i=1;iN;i+) for(j=1;j=i;j+) printf(“%d “,aij); printf(“n“); ,1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ,/课后习题求矩阵的对角线之和,#include void main() int a4=25,3,10,18,6,8,56,7,16,31

8、,9,55,28,46,11,15,5;,25 3 10 18 8 56 7 16 31 9 55 28 46 11 15 5,(1)对角线为1,aii,(2)对角线为2,ai3-i,/ i=03,/ i=03,/课后习题求矩阵的对角线之和,#include void main() int a4=25,3,10,18,6,8,56,7,16,31,9,55,28,46,11,15,5; int i,j,s1=0,s2=0; printf(“原始矩阵:n“); for(i=0;i4;i+) for(j=0;j4;j+) printf(“%-4d“,aij); printf(“n“); for(i

9、=0;i4;i+) s1=s1+aii; s2+=ai3-i ; printf(“两条对角线的和分别为%d和%dn“,s1,s2); ,/课后习题6.11输出图形,* * * * *,已知定义:,char space= ;,char a5=*, *, *, *, *;,#include void main() char a5=*, *, *, *, *,space= ; int i,j,k; for(i=1;i=5;i+) /输出5行 /首先,输出每行的空格 for(j=0;j=i-2;j+) printf(“%c“,space); /然后,输出5个星号 for(k=0;k5;k+) prin

10、tf(“%c“,ak); /然后,换行 printf(“n“); ,/课后习题6.11输出图形,* * * * *,第6章 综合练习,一维数组元素的运算:,循环,二维数组元素的运算:,双重循环,“字符串“的运算:,字符数组名,(代表字符串首地址),一维数组的每个元素只有 个下标,一维数组第一个元素的下标一定是 ,最后一个元素的一标是 。,1,0,数组长度-1,字符串处理函数中: gets函数用于 ; 测试字符串长度的函数是 ; 拷贝字符串的函数是 ; 字符串比较函数是 。,接受一个从键盘输入的字符串,strlen,strcpy,strcmp,为数组所有元素输入值: #include void

11、main() int a10,i=0; while(i10) ; ,scanf(“%d“,i+,为数组所有元素输入值: #include void main() int a10,i=0; while(i10) ; ,scanf(“%d“,&ai+),输入一个整数,并在数组a中查找这个数。如果找到这个数,就将对应元素的取值改变为它的相反数。 #include void main() int i,x,a=3, 5, 8, 2, 5, 7, 9, 4; /*输入所要查找的数,并把这个数赋值给x*/ scanf(“%d“, ); for( ; ; ) /*在数组中查找这个数*/ if(ai= ) =-

12、x; ,&x,i=0,i8,i+,x,ai,如下程序的输出结果是 : #include void main() char str=“Happy New Year!“; str5=0; puts(str); ,Happy Press any key to continue,H a p p y N e w Y e a r ! 0,str,str,H a p p y 0 N e w Y e a r ! 0,str0 str5str15,Happy,/输出如下图形,已知定义:,char space= ;,char a5=*, *, *, *, *;,to student:6-11.c,#include

13、 void main() char a5=*, *, *, *, *,space= ; int i,j,k; for(i=1;i=i;j-) printf(“%c“,space); /然后,输出5个星号 for(k=0;k5;k+) printf(“%c“,ak); /然后,换行 printf(“n“); ,* * * * *,/练习:输出如下图形,to student:输出图形.c,#include void main() char a7=*, *, *, *, *, *, *,space= ; ,/练习:输出如下图形,* * * *,#include void main() char a7=*, *, *, *, *, *, *,space= ; int i,j,k; for(i=1;i=i;j-) printf(“%c“,space); /然后,输出每行的星号 for(k=0;k2*i-1;k+) printf(“%c“,ak); /最后,换行 printf(“n“); /该

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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