指针编程题Word格式文档下载.docx
- 文档编号:15915787
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:18.10KB
指针编程题Word格式文档下载.docx
《指针编程题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《指针编程题Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
copy(a,b);
\nNewString=%s\n&
b);
return0;
}
voidcopy(char*pa,char*pb)
while(*pa!
=&
#39;
\0&
)
*pb=*pa;
pa++;
pb++;
*pb=&
;
2.编写一函数,求一个字符串的长度,要求用字符指针实现。
在主函数中输入字符串,调用该函数输出其长度。
voidMyStrlen(char*pa);
main()
chara[80];
pleaseinputa:
&
MyStrlen(a);
rerurn0;
voidMyStrlen(char*pa)
intcount=0;
//指向下一位字符
count++;
实际字符个数为:
%d\n&
count);
3.从键盘上输入10个数据到一维数组中,然后找出数组中的最大值和该值所在的元素下标。
要求调用子函数search(int*pa,intn,int*pmax,int*pflag)完成,数组名作为实参,
指针作为形参,最大值和下标在形参中以指针的形式返回。
编程素材有printf(&
Input10numbers:
和printf(&
Maxis:
...);
以及printf(&
Maxpositionis:
...)
intsearch(int*pa,intn,int*pmax,int*pflag);
intmain()
inta[10],i,max,flag,pmax;
for(i=0;
i&
10;
i++)
scanf(&
%d&
&
amp;
a[i]);
pmax=search(a,10,&
max,&
flag);
max);
flag);
intsearch(int*pa,intn,int*pmax,int*pflag)
inti,*max;
max=pmax;
*pmax=pa[0];
for(i=1;
n;
if(*pmax&
pa[i])
*pmax=pa[i];
*pflag=i;
return*max;
4.从键盘上输入10个整数存放到一维数组中,将其中最小的数与第一个数对换,最大的数与最后一个数对换。
要求进行数据交换的处理过程编写成一个函数,函数中对数据的处理要用指针方法实现。
Input10datas:
Output10datas:
%d&
输入数据为:
35,20,94,-23,39,-56,100,87,49,12.
voidswap(int*p1,int*p2);
voidfun(int*p);
inta[10],i;
fun(a);
voidswap(int*p1,int*p2)
intt;
t=*p1;
*p1=*p2;
*p2=t;
voidfun(int*pa)
intmax,min,i,m,n;
max=*pa;
min=*pa;
if(max&
max=pa[i];
m=i;
if(min&
min=pa[i];
n=i;
swap(&
pa[0],&
pa[n]);
pa[9],&
pa[m]);
pa[i]);
5.编写一个函数(参数用指针)将一个3×
3矩阵转置。
voidfun(int(*pa
)[3],int(*pb)[3]);
inta[3][3],i,j,b[3][3]={0};
Pleaseinputa:
3;
for(j=0;
j&
j++)
a[i][j]);
fun(a,b);
%d\t&
b[i][j]);
voidfun(int(*pa)[3],int(*pb)[3])
inti,j;
pb[j][i]=pa[i][j];
6.利用指向行的指针变量求5×
3数组各行元素之和
voidfun(int(*p)[3]);
inta[5][3],i,j;
请输入5*3矩阵a:
5;
voidfun(int(*p)[3])
inti,j,sum=0;
第%d行元素之和为:
i+1);
sum+=p[i][j];
sum);
sum=0;
7.从键盘上输入10个整数存放到一维数组中,用函数实现将10个整数按输入时的顺序逆序排列,函数中对数据的处理要用指针方法实现。
voidfun(int*pa,intt);
fun(a,10);
voidfun(int*pa,intt)
inti;
Output10numbers:
for(i=t-1;
=0;
i--)
8.用指针法编程,从键盘上输入多个字符串(每个串不超过5个字符且没有空格),用”*****”作为输入结束的标记。
从所输入的若干字符串中,找出一个最大的串,并输出该串。
要求串的输入以及最大串的查找通过调用编写的函数实现。
****Inputstrings****\n&
和printf(&
max=%s\n&
输入内容为helloapplezoneworld*****。
string.h&
voidfind(char*name[],intn,int*p)
inti,m=0;
char*pmax=name[0];
for(i=1;
i&
n;
if(strcmp(pmax,name[i])&
0)
strcpy(pmax,name[i]);
m=i;
*p=m;
char*str[100];
chara[100][6];
inti=0,max;
do
str[i]=a[i];
%s&
str[i]);
i++;
}while(strcmp(str[i-1],&
*****&
)!
=0);
find(str,i,&
max);
str[max]);
9.在主函数中输入5个字符串(每个字符串的长度不大于20),并输出这5个字符串。
编写一个排序函数,完成对这些字符串按照字典顺序排序。
然后在主函数中调用该排序函数,并输出这5个已排好序的字符串。
要求用指针数组处理这些字符串。
*****Input5strings******\n&
\n******SortBefore******\n&
\n******SortAfter******\n&
输入内容为:
Followme,BASIC,GreatWall,FORTRAN,Computerdesign。
voidfun(char*pa[20]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指针 编程