教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

6.C语言指针练习题(3)

来源:网络收集 时间:2026-02-06
导读: student worker 答案:(1)char *p[],int n (2)*temp (3)p[j],p[j+1])>0 (4)p[j]=p[j+1] 分析:(1)由实参得知函数sort()有两个形参,根据上题得char *p[],int n。 (2)有下面语句temp=p[j]可以得到temp是字符中指针。

student worker

答案:(1)char *p[],int n

(2)*temp (3)p[j],p[j+1])>0 (4)p[j]=p[j+1]

分析:(1)由实参得知函数sort()有两个形参,根据上题得char *p[],int n。

(2)有下面语句temp=p[j]可以得到temp是字符中指针。 (3)根据冒泡排序方法和字符串比较函数得到p[j],p[j+1])>0。

(4)字符串指针可以通过赋值语句传递值,字符串变量不能够使用赋值语句传递值。

例题14:函数find功能是:在指针p所指数组中,查找值为x的元素,找到后,返回该元素的下标,否则返回-1,改正程序中语句错误,能够正确运行。 #include #include const int N=10;

int find(int *p,int n,int x) //1 { int i ; // 2 *(p+n)=x; //3 while(*p+i!=x) //4 i++; //5 if(i!=n) //6 return 1; //7 else return -1; //8 }

void main() {int i,pos,x; int *p=new int [N]; for(i=0;i *(p+i)=rand()P; for(i=0;i cout<<*(p+i)<<'\\t'; cout<<\ cin>>x; pos=find(p,N,x);

if(pos!=-1)cout<<\MARGIN-LEFT: ,value=\ else cout<<\ }

答案:(1) 2行语句改为 int i=0;

(2) 4行语句改为 while(*(p+i)!=x); (3) 7行语句改为 return i 。

分析:在函数find中,变量i没有赋初值,按照规则任意取值,所以程序不正确。在while循环条件中*p+i表示指针p指向地址元素值加i,不能起着指针移动作用,改为*(p+i)表示数组第i个元素值起着顺序查找作用。在函数中如果找到查找元素返回其下标,7行应该是return i ,而不是return 1。

例题15:写一个函数,将一个n阶方阵转置。具体要求如下:

(1)初始化一个矩阵A(5×5),元素值取自随机函数,并输出。 (2)将其传递给函数,实现矩阵转置。

(3)在主函数中输出转置后的矩阵。(提示:程序中可以使用C++库函数rand( ),其功能是产生一个随机数0~65535,其头文件为stdlib.h)

分析:根据题目要求,本题的关键是实现矩阵的转置,指针变量p指向矩阵c,由数组存放规则和指针变量的规则,得到下列程序: #include #include #include

int a[5][5],c[5][5]; //矩阵a、c定义为全局变量 void zc(int b[][5],int n); //函数声明语句 void main() {int i,j;

6.C语言指针练习题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/521220.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)