实验七 指针与数组 参考答案

实验七 指针与数组 参考答案

ID:38120237

大小:21.89 KB

页数:7页

时间:2019-05-26

实验七 指针与数组 参考答案_第1页
实验七 指针与数组 参考答案_第2页
实验七 指针与数组 参考答案_第3页
实验七 指针与数组 参考答案_第4页
实验七 指针与数组 参考答案_第5页
资源描述:

《实验七 指针与数组 参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、设计程序sy6-1.c,有三个整形变量i,j,k。设置三个指针变量p1,p2,p3,分别指向i,j,k。然后通过指针变量使i,j,k三个变量的值顺序交换,即原来i的值赋给j,把j的原值赋给k,把k的原值赋给i。i,j,k的原值由键盘输入,要求输出i,j,k的原值和新值。 参考答案:# include  void main() { int i,j,k,*p1,*p2,*p3,t; printf("请输入i,j,k: "); scanf("%d%d%d",&i,&j,&k); printf("交换前: i=%d j=%d,k

2、=%d",i,j,k); p1=&i; p2=&j; p3=&k;//p1指向i,p2指向j,p3指向k  t=*p3; *p3=*p2;*p2=*p1,*p1=t;//通过指针间接访问i,j,k并实现交换printf("交换后: i=%d j=%d k=%d",i,j,k); }  2、设计程序sy6-2.c,已知数组{1,3,5,7,9},在其中分别用下标法、地址法和指针法访问数组元素,将它们输出。 参考答案:# include  void main() { int a[5]={1,3,5,7,9},i,*p; 

3、printf("下标法a[i]: "); for(i=0;i<5;i++) printf("%3d",a[i]);printf(" 地址法*(a+i):*(a+i):"); for(i=0;i<5;i++) printf("%3d",*(a+i)); printf("指针法*p: "); for(p=a;p

4、 Yuan.”,并输出结果。 参考答案: # include  void main() { char str[]="I have 50 Yuan."; char *p,*q; //定义两个字符指针p=q=str;//两个字符指针都指向字符串str while(*p!='') //p的目标单元等于''循环结束{ if(*p!='0') //如果p的目标单元不为要被删除的字符'0' {*q=*p;q++;} //就把它赋值给q的目标单位p++; //赋值一次,p后移一个存储单元} *q='';//给新的字符串添加结束

5、标志''printf("删除0字符后的字符串: %s",str); }? 运行结果 4、设计程序sy6-4.c,要求输入三行字符(每行不超过80个字符)存于二维字符数组中,统计出其中大写字母、小写字母、空格及其它字符的个数。(要求使用指向一维数组的指针变量) 参考答案: # include  void main() { char ch,s[3][80],(*p)[80]; //p为指向一维数组的行指针变量int i,j,lower=0,uppr=0,space=0,other=0; printf("请输入3个字符串:

6、"); for(i=0;i<3;i++) //等待从键盘接收3个可以带空格的字符串gets(s[i]); //分别赋给s[i],s[i]-第i行的首地址p=s; for(i=0;i<3;i++)//分别从0行到第2行for( j=0  ( ch=*(*(p+i)+j)) != ''  j++ )//*(*(p+i)+j))等同于p[i][j]和a[i][j]//每行访问到当前行的结束标志即''结束if(ch>='A' && ch<='Z') uppr++; //当前字符为大写字母,uppr++; else if(ch>='a' &

7、& ch<='z') lower++;//当前字符为小写字母,lower++; else if(ch==' ') space++; //当前字符为空格,space++; else other++; //否则,other++; printf("小写字母个数: %d",lower); printf("大写字母个数: %d",uppr); printf("空格的个数: %d",space); printf("其它字符个数: %d",other); }? 运行结果  5、设计程序sy6-5.c,请用指向一维数组的指针变量实现二维矩阵的

8、转置,二维矩阵为int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};转置后的结果存在int b[4][3]里面。 参考答案

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。