资源描述:
《中国矿业大学上机实践.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验九、指针一、实验目的1.通过实验进一步掌握指针的概念,会定义和使用指针变量;2.能正确使用数组的指针和指向数组的指针变量;3.能正确使用字符串的指针和指向字符串的指针变量;4.了解指向指针的指针的概念及其使用方法。二、实验内容:1.输入3个整数,按由小到大的顺序输出,然后将程序改为:输入3个字符串,按由小到大顺序输出。2.将一个3*3的矩阵转置,用以函数实现之。在主函数中用scanf函数输入以下矩阵元素:1377911131519将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。三、源
2、程序:9_1_1#include"stdio.h"voidmain(){voidswap(int*p1,int*p2);intn1,n2,n3;int*p1,*p2,*p3;printf("inputthreeintegern1,n2,n3:");scanf("%d,%d,%d",&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf("Now,theorderis:%d,%d,%d
3、n",n1,n2,n3);}voidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}9_1_2#include"stdio.h"#include"string.h"voidmain(){voidswap(char*,char*);charstr1[50],str2[50],str3[50];printf("inputthreeline:");gets(str1);gets(str2);gets(str3);if(strcmp(str1,str2)>0)swap(str1,str2);if
4、(strcmp(str1,str3)>0)swap(str1,str3);if(strcmp(str2,str3)>0)swap(str2,str3);printf("Now,theorderis:");printf("%s%s%s",str1,str2,str3);}voidswap(char*p1,char*p2){charp[50];strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);}9_2#include"stdio.h"voidmain(){voidmove(int*pointe
5、r);inta[3][3],*p,i;printf("inputmatrix:");for(i=0;i<3;i++)scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);p=&a[0][0];move(p);printf("Now,matrix:");for(i=0;i<3;i++)printf("%d%d%d",a[i][0],a[i][1],a[i][2]);}voidmove(int*pointer){inti,j,t;for(i=0;i<3;i++)for(j=i;j<3;j++){
6、t=*(pointer+3*i+j);*(pointer+3*i+j)=*(pointer+3*j+i);*(pointer+3*j+i)=t;}}一、实验结果:9_1_1inputthreeintegern1,n2,n3:1351,1505,1534Now,theorderis:1351,1505,1534Pressanykeytocontinue9_1_2inputthreeline:Istudyveryhard.Clanguageisveryinteresting.Heisaprofessfor.Now,theorderis:C
7、languageisveryinteresting.Heisaprofessfor.Istudyveryhard.Pressanykeytocontinue9_2inputmatrix:123456789Now,matrix:147258369Pressanykeytocontinue一、实验体会:通过本事本实验进一步掌握了指针的概念,学会了定义和使用指针变量,能够正确使用数组的指针和指向数组的指针变量,能正确使用字符串的指针和指向字符串的指针变量,受益匪浅!!!