天津理工大学c语言上机报告7.docVIP

  • 97
  • 0
  • 约2.95千字
  • 约 6页
  • 2018-03-13 发布于河南
  • 举报
天津理工大学c语言上机报告7

天津理工大学 计算机与通信工程学院 实验试做报告 2009 至 2010 学年 第 一 学期 课程名称 高级语言程序设计I 学生专业 信息安全 实验(7) 实验名称 指针 实验课时 4课时 试做时间 2009年11月12日 实验环境 P4、VC++6、MSDN 实验要求 见实验指导书 实验步聚 1.第一题的参考源代码如下: #includestdio.h void main() {int i,j,k,t,*p; int a[10]; printf(请输入10个数\n); for(i=0;i10;i++) scanf(%d,a[i]);/*输入数据*/ p=a;/*指针p指向数组a*/ for(i=0;i9;i++) {k=i;/*变量k中存放最终需要交换的元素的位置*/ for(j=i+1;j10;j++) if(*(p+k)*(p+j))k=j;/*有更小的元素值是更新k的指向*/ if(k!=i)/*当k被更新后就需要交换数据*/ {t=*(p+k); *(p+k)=*(p+i); *(p+i)=t;}} for(p=a;pa+10;p++)printf(%5d,*p);/*输出排序后的数组元素值*/ } 2.第二题的参考源代码如下: #includestdio.h void main() {void swap(p1,p2); int a,b,*pa,*pb; printf(请输入2个数\n); scanf(%d%d,a,b); pa=a;/*指针pa指向整数a*/ pb=b;/*指针pb指向整数b*/ swap(pa,pb);/*调用函数swap,实参为指针*/ printf(a=%d,b=%d\n,a,b); } void swap(int *p1,int *p2)/*定义函数swap,完成交换功能*/ {int t; t=*p1;/*完成交换功能*/ *p1=*p2; *p2=t; } 3.第三题的参考源代码如下: #includestdio.h void main() {int sum(int a,int b,int c); void swap(int a,int b); int a,b,c,(*p)(); int *aa,*bb; printf(请输入2个数a,b\n); scanf(%d,%d,a,b); p=sum; c=(*p)(a,b,c); p=swap; aa=a;bb=b; (*p)(aa,bb); printf(sum=%d\n,c); printf(a=%d,b=%d\n,a,b); } int sum(int a,int b,int c) {c=a+b; return(c);} void swap(int *aa,int *bb) {int t; t=*aa; *aa=*bb; *bb=t; } 4.第四题的参考源代码如下: #includestdio.h void main() { void pai(int *p,int a); int a[10],i; printf(请输入10个数\n); for(i=0;i10;i++) scanf(%d,a[i]); pai(a,10); for(i=0;i10;i++) printf(%d ,a[i]); } void pai(int *p,int n) {int i,x[10],j,k,t; for(i=0;i10;i++) x[i]=*(p+i); for(i=0;in-1;i++) {k=i; for(j=i+1;jn;j++) if(x[k]x[j])k=j; if(k!=i) {t=x[k]; x[k]=x[i]; x[i]=t;}} for(i=0;in;i++) printf(%d ,x[i]); printf(\n); } 5.第五题的参考源代码如下: #includestdio.h void main(){ int strcmp(char *p1,char *p2); char s1[100],s2[100],* p1,*p2; int a; printf(请输入字符串s1\n); gets(s1); printf(请输入字符串s2\n); gets(s2); p1=s1; p2=s2; a=strcmp(p1,p2); printf(%d\n,a); } int strcmp(char *p1,char *p2) {int s=0; for(;*p1!=\0;p1++,p2++) { if(*p1==*p2)continue; else if(*p1!=*p2) s=

文档评论(0)

1亿VIP精品文档

相关文档