c语言实验 实验九指针,C语言 实验九 指针.doc

实验九 指针

1.源程序:

#include

void main()

{void swap(int *p1,int *p2);

int n1,n2,n3;

int *p1,*p2,*p3;

printf("input three integer n1,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,the order is:%d,%d,%d\n",n1,n2,n3);

}

void swap(int *p1,int *p2)

{int p;

p=*p1; *p1=*p2; *p2=p;

}

编译结果:

--------------------Configuration: 10.1 - Win32 Debug--------------------

Compiling...

10.1.c

10.1.obj - 0 error(s), 0 warning(s)

运行结果:

1.②#include

#include

void main()

{void swap(char *,char *);

char str1[20],str2[20],str3[20];

printf("input three line:\n");

gets(str1);

gets(str2);

gets(str3);

if(strcmp(str1,str2)>0) swap(str1,str2);

if(strcmp(str1,str3)>0) swap(str1,str3);

if(strcmp(str2,str3)>0) swap(str2,str3);

printf("Now,the order is:\n");

printf("%s\n%s\n%s\n",str1,str2,str3);

}

void swap(char *p1,char *p2)

{char p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

}

编译结果:

--------------------Configuration: 10.1 - Win32 Debug--------------------

Compiling...

10.1.c

10.1.obj - 0 error(s), 0 warning(s)

2.源程序:

#include

void main()

{void move(int *pointer);

int a[3][3],*p,i;

printf("input matrix:\n");

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:\n");

for(i=0;i<3;i++)

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

void move(int *pointer)

{int i,j,t;

for(i=0;i<3;i++)

for(j=i;j<3;j++)

{t=*(pointer+3*i+j);

*(pointer+3*i+j)=*(pointer+3*j+i);

*(pointer+3*j+i)=t;

}

}

编译结果:

--------------------Configuration: 9.2 - Win32 Debug--------------------

Compiling...

9.2.c

9.2.obj - 0 error(s), 0 warning(s)

运行结果:

3.

#include

void main()

{int i,k,m,n,num[50],*p;

printf("input number of person:n=");

scanf("%d",&n);

p=num;

for(i=0;i

*(p+i)=i+1;

i=0;

k=0;

m=0;

while(m

{if(*(p+i)!=0) k++;

if(k==3)

{*(p+i)=0;

k=0;

m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

printf("The las

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值