航电c语言实验八指针,C语言-实验八-指针的使用.doc

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

实验八

实验项目名称:指针的使用

实验时间:

实验地点:

实验目的:

掌握指针和间接访问的概念,会定义和使用指针变量。

能正确使用数组的指针和指向数组的指针变量。

能正确使用字符串的指针和指向字符串的指针变量。

主要的实验所需仪器、设备:PC机。

实验内容与步骤:

求一个整形数组a[10]的最大元素。(注意:数组元素由用户自由输入,求最大值要求用指针处理)

按要求编写程序,写出源程序:

#include

void main()

{

int *p,i,a[10],t,max;

p=a;

printf("please enter 10 integers:\n");

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

scanf("%d",p++);

p=a;

for(i=0,max=p[0];i<9;i++)

if(max

printf("max=%d\n",max);

}

运行结果是:

Please enter 10 integers:

34 67 87 77 98 100 23 1 29 32

max=100

与人工分析程序所得结果是否一致,有何结论:

任意输入3个字符串,按由小到大的顺序输出。(注意:处理过程要求用指针)。

按要求编写程序,写出源程序:

#include

#include

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

子函数实现行列互换,要求将数组第一行第一列元素的地址作为函数参数,

函数调用结束后在主函数输出已转置的二维数组。

按要求编写程序,写出源程序:

#include

void main()

{

void trans(int (*w)[3]);

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

printf("请按行输入矩阵: \n");

for(p=a;p

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

scanf("%d",&(*p)[i]);

trans(a);

printf("转置后的矩阵: \n");

for(p=a;p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值