资源描述:
《c语言实验7--指针实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、暨南大学本科实验报告专用纸(一)实验目的a)掌握指针的概念,会定义和使用指针变量。b)正确使用数组的指针和指向数组的指针变量。c)正确使用字符串的指针和指向字符串的指针变量。(二)实验内容和要求实验内容1::输入3个整数,按由小到大的顺序输出,然后将程序改为:输入3个字符串,按由小到大的顺序输出。实验内容2::将一个3×3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入一下矩阵元素:将数组明作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中枢出已转置的矩阵。实验内容3::有一个班4个学生,5门课。①求第一门课的平均分;②找出有2门以上课程不及格的学生,输
2、出他们的学号和全部课程成绩和平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。实验要求:(1)分别编写程序,完成以上实验内容,要求用指针处理。(2)上机调试运行程序,输出运行结构,并分析运行结果是否正确。(三)主要仪器设备仪器:计算机实验环境:Windows2000或WindowsXP+VisualC++6.0或TurboC2.0暨南大学本科实验报告专用纸(附页)(四)实验原理实验一(1)主函数swap函数暨南大学本科实验报告专用纸(附页)(2)主函数swap函数exchange函数暨南大学本科实验报告专用纸(附页)实验二主函数转置
3、函数暨南大学本科实验报告专用纸(附页)实验三主函数求第一门科目平均分函数暨南大学本科实验报告专用纸(附页)查找均成绩在90分以上或全部课程成绩在85分以上的学生函数暨南大学本科实验报告专用纸(附页)有2门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩暨南大学本科实验报告专用纸(附页)(一)源程序#includeintmain(){inta,b,c;voidswap(int*,int*);int*p1,*p2,*p3;p1=&a;p2=&b;p3=&c;scanf("%d%d%d",&a,&b,&c);if(*p1>*p2)swap(p1,p2);if(
4、*p2>*p3)swap(p2,p3);if(*p1>*p2)swap(p1,p2);printf("%d%d%d",*p1,*p2,*p3);return0;}voidswap(int*p1,int*p2){intt;t=*p1;*p1=*p2;*p2=t;}#include#includevoidswap(char**q1,char**q2){char*temp;temp=*q1;*q1=*q2;*q2=temp;}voidexchange(char**p1,char**p2,char**p3){if(strcmp(*p1,*p2)>0)sw
5、ap(p1,p2);if(strcmp(*p1,*p3)>0)swap(p1,p3);if(strcmp(*p2,*p3)>0)swap(p2,p3);}暨南大学本科实验报告专用纸(附页)intmain(){chara[100],b[100],c[100],*p1,*p2,*p3;gets(a);gets(b);gets(c);p1=a;p2=b;p3=c;exchange(&p1,&p2,&p3);printf("%s%s%s",p1,p2,p3);return0;}实验二#includeintmain(){inta[3][3];voidf(int(*
6、a)[3]);inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);f(a);for(i=0;i<3;i++)for(j=0;j<3;j++){printf("%d",a[i][j]);if(j/2)printf("");}return0;}voidf(int(*a)[3]){inti,j,t;for(i=0;i<3;i++)for(j=i;j<3;j++){t=*(*(a+i)+j);暨南大学本科实验报告专用纸(附页)*(*(a+i)+j)=*(*(a+j)+i);*(*(a+j)+i)=t;}}实验三#incl
7、udeintmain(){floata[4][5];voidsub_ave(float(*a)[5],int),search1(float(*a)[5],int),search2(float(*a)[5],int);inti;for(i=0;i<4;i++){printf("请输入第%d个学生的五门成绩:",i+1);scanf("%f%f%f%f%f",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i