版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验 9指针1(2). 调试,将 5 个字符串从小到大排序后输出。源程序(有错误的程序)#include #includevoid fsort(char cname6,n)k,j;char tmp6;for(k=1;kn;k+)/*调试时设置断点*/ for(j=0;jcnamej+1)amej;cnamej=cnamej+1; cnamej+1=t;void main()i;char cname56=“wang”,”li”,”zhang”,”jin”,”xian”;fsort(cname,5); for(i=0;i5;i+)pr f(“%s n”,cnamei);/*调试时设置断点*/运行结
2、果(改正后程序的运行结果)Jin LiWang XianZhang#include #includevoid fsort(char cname6,n)k,j;char tmp6=,(*p)6; ame;for(k=1;kn;k+)/*调试时设置断点*/for(j=0;j0)strcpy(tmp,*(p+j+1); strcpy(*(p+j+1),*(p+j);strcpy(*(p+j),tmp);void main()i;char cname56=wang,li,zhang,jin,xian; fsort(cname,5);for(i=0;i5;i+)prf(%sn,cnamei);/*调试时
3、设置断点*/2.2. 编程序(1). 输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。(习题 l0.1、10.2)第一个: #include void main()a3,i,t,j;for (i=0;i3;i+)scanf(%d,&ai); for (i=0;i2;i+)for(j=0;jaj+1)t=aj+1; aj+1=aj; aj=t;for (i=0;i3;i+)prf(%dt,ai); f(n);pr第二个:#include#includevoid main()i,j;char a3100;char t100=; for (i=0;i3;i+)
4、scanf(%s,&ai); for (i=0;i2;i+)for(j=0;j0)strcpy(t,aj+1);strcpy(aj+1,aj);strcpy(aj,t);for (i=0;i3;i+)prf(%st,ai); prf(n);其他解法见书本上机指导 103 面。(2). 将一个 3X3 的矩阵转置,用一函数实现之。(习题 109)在主函数中用 scanf 函数输入以下矩阵元素:19将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。解:解法一:#includevoid main()i,j,a33,k=0;void trans(a3);f
5、or (i=0;i3;i+) for (j=0;j3;j+)scanf(%d,&aij);trans(a);for (i=0;i3;i+)for (j=0;j3;j+)prf(%dt,aij); k+;if (k%3=0) prf(n);prf(n);voidtrans(a3)i,j,t,b33=0;for (i=0;i3;i+) for(j=0;j3;j+)if(bij!=1)&(bji!=1)t=aij; aij=aji; aji=t;bij=1;bji=1;解法二:#includevoid main()i,j,a33,k=0;void trans(a3);for (i=0;i3;i+)
6、for (j=0;j3;j+)scanf(%d,&aij);trans(a);for (i=0;i3;i+)for (j=0;j3;j+)prf(%dt,aij); k+;if (k%3=0) prf(n);prf(n);voidtrans(a3)i,j,t,b33=0;for (i=0;i3;i+) for(j=0;ji;j+)t=aij; aij=aji; aji=t;解法三见书本 109 面(3). 用指向指针的指针的方法对n 个整数排序并输出。要求将排序单独写成一个函数。n 和各整数在主函数中输入,最后在主函数中输出。(习题 10.21)#includevoid main()a100,
7、n,*ptr100;*p,i;voidsort(*p,n);prf(input n,n is a number betscanf(%d,&n);n 3 and 100:n);while(n100)prf(n must be a number bet scanf(%d,&n);n 3 and 100);for (i=0;in;i+)ptri=&ai;prf(input numbers:n);for (i=0;in;i+)scanf(%d,&ai);for (i=0;in;i+)prf(%dt,ai); if(i+1)%5=0)prf(n);prf(n); p=ptr;sort(p,n);for
8、(i=0;in;i+)prf(%dt,*ptri); if(i+1)%5=0)prf(n);voidsort(*p,n)t,i,j; for(i=0;in-1;i+)for(j=0;j*(p+j+1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;书本的解法没有实际的交换数值#includevoid main()a100,n,*ptr100;*p,i;voidsort(*p,n);prf(input n,n is a number betscanf(%d,&n);n 3 and 100:n);while(n100)prf(n must be a number bet s
9、canf(%d,&n);n 3 and 100);for (i=0;in;i+)ptri=&ai;prf(input numbers:n);for (i=0;in;i+)scanf(%d,&ai);for (i=0;in;i+)prf(%dt,ai); if(i+1)%5=0)prf(n);prf(n); p=ptr;sort(p,n);for (i=0;in;i+)prf(%dt,*ptri); if(i+1)%5=0)prf(n);for (i=0;in;i+)prf(%dt,ai); if(i+1)%5=0)prf(n);voidsort(*p,*t,i,j;n)for(i=0;in-1
10、;i+) #实际上只是把指针数组的值给更改了,而没有实际改变数组值 for(j=0;j*(p+j+1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;(4).编程,输入 6 个字符串,先按从小到大的顺序输出这些字符串,再输出其中最大和最小的字符串,要求定义和调用函数。输入输出示例:输入 6 行字符串:Hangzhou Shanghai Beijing Nanjing Guangzhou Tianjing字符串从小到大排列后:Beijing Guangzhou Hangzhou Nanjing Shanghai Tianjing最短的字符串是 Beijing最长的字符串是
11、 Tianjing提示:定义函数形参时,如果把二维数组定义为指针,调用时要用一级指针的地址。解法:有问题#include #includevoid main()i;char a6100;char (*q)100;void sort(char (*q)100,n);/char t100=; for (i=0;i6;i+)scanf(%s,ai); for (i=0;i6;i+)prf(%st,ai); prf(n);q=a; sort(q,6);for (i=0;i6;i+)prf(%st,q+i); prf(n);for (i=0;i6;i+)prf(%st,ai);void sort(char (*p)100,n)i,j;char temp100,*t=temp; for (i=0;in-1;i+)for(j=0;j0)strcpy(t,pj+1);strcpy(pj+1,pj);strcpy(pj,t);正确的解法二:#include #includevoid main()i;char a6100; char *q6;void sort(char *p, for (i=0;i6;i+)scanf(%s,&ai); for (i=0;i6;i+)prf(%st,ai); for (i=0;i6;i+)qi=ai;p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河南商丘市睢县融媒体中心招聘专业技术人员20人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河北黄骅市事业单位招聘笔试易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河北石家庄广播电视台“名校英才入石”选聘4人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年河北省廊坊大城县城管局/信访局招聘65人易考易错模拟试题(共500题)试卷后附参考答案
- 小学劳动一年级上册第14课《我要勤洗手》教学设计
- 俭以养德 躬行节约-高中二年级“传承节俭美德·践行绿色生活”主题班会教学设计
- 高中地理二轮复习·区域生态脆弱区综合治理真题专练讲义
- 2026届高考地理一轮复习精讲讲义·专题七:气温影响因素深度剖析与等温线判读进阶
- “从‘心’出发逐光而行”:初中年级收心归位主题班会教案
- 高三家校赋能“三维共振”教案
- 复式条形统计图
- 污水管网施工高温天气作业安全方案
- 统编版高中政治选择性必修三《逻辑与思维》综合题刷题练习题(含答案)
- (二模)南通市2026届高三第一次调研测试历史试卷(含答案)
- (二检)2026年宝鸡市高三高考模拟检测(二)历史试卷
- 餐饮业面试流程及常见问题
- 2026届甘肃省高三第一次模拟考试地理试题(含答案)
- 2026年NCCN卵巢癌包括输卵管癌及原发性腹膜癌临床实践指南第1版
- 2025广东中山大学附属第六医院公开招聘事业单位工作人员11人(第一批)笔试历年典型考题及考点剖析附带答案详解试卷2套
- 2025年湖南高考语文试题及答案
- UOS操作系统基线安全加固手册
评论
0/150
提交评论