C语言-实验八-指针的使用.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-实验八-指针的使用

实验八 实验项目名称:指针的使用 实验时间: 实验地点: 实验目的: 掌握指针和间接访问的概念,会定义和使用指针变量。 能正确使用数组的指针和指向数组的指针变量。 能正确使用字符串的指针和指向字符串的指针变量。 主要的实验所需仪器、设备:PC机。 实验内容与步骤: 求一个整形数组a[10]的最大元素。(注意:数组元素由用户自由输入,求最大值要求用指针处理) 按要求编写程序,写出源程序: #includestdio.h void main() { int *p,i,a[10],t,max; p=a; printf(please enter 10 integers:\n); for(i=0;i10;i++) scanf(%d,p++); p=a; for(i=0,max=p[0];i9;i++) if(maxp[i+1])max=p[i+1]; printf(max=%d\n,max); } 运行结果是: Please enter 10 integers: 34 67 87 77 98 100 23 1 29 32 max=100 与人工分析程序所得结果是否一致,有何结论: 任意输入3个字符串,按由小到大的顺序输出。(注意:处理过程要求用指针)。 按要求编写程序,写出源程序: #includestdio.h #includestring.h void main() { char a[20],b[20],c[20],*p1,*p2,*p3,*t; p1=a,p2=b,p3=c; printf(please enteer three strings:\n); gets(a);gets(b);gets(c); if(strcmp(p1,p2)0) t=p1,p1=p2,p2=t; if(strcmp(p1,p3)0) t=p1,p1=p3,p3=t; if(strcmp(p2,p3)0) t=p2,p2=p3,p3=t; printf(由小到大排列是%s %s %s\n,p1,p2,p3); } 运行结果是: 与人工分析程序所得结果是否一致,有何结论: 将一个3*3的整形二维数组转置。主函数中用scanf函数输入以下数组元素: 3 5 9 11 13 15 19 子函数实现行列互换,要求将数组第一行第一列元素的地址作为函数参数, 函数调用结束后在主函数输出已转置的二维数组。 按要求编写程序,写出源程序: #includestdio.h void main() { void trans(int (*w)[3]); int a[3][3],(*p)[3],i; printf(请按行输入矩阵: \n); for(p=a;pa+3;p++) for(i=0;i3;i++) scanf(%d,(*p)[i]); trans(a); printf(转置后的矩阵: \n); for(p=a;pa+3;p++){ for(i=0;i3;i++) printf(%4d,(*p)[i]); printf(\n); } printf(\n); } void trans(int (*w)[3]) { int i,j,t; for(i=0;i3;i++) for(j=0;ji;j++) { t=*(*(w+i)+j); *(*(w+i)+j)=*(*(w+j)+i); *(*(w+j)+i)=t; } } 运行结果是: 与人工分析程序所得结果是否一致,有何结论: 求一个字符串的长度。主函数输入字符串,并输出其长度。子函数求其长度,要求函数形参用指针变量或数组名。 按要求编写程序,写出源程序: #includestdio.h #includestring.h void main() { int length(char *p); char str[30]; char *q; printf(please enter the string:\n); gets(str); q=str; printf(zhe length of zhe string is:%d\n,length(q)); } int length(char *p) { int a; a=strlen(p); return(a); } 运行结果是: 与人工分析程序所得结果是否一致,有何结论: 本次上机实验的心得。

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档