C语言指针习题和答案.doc
《C语言指针习题和答案.doc》由会员分享,可在线阅读,更多相关《C语言指针习题和答案.doc(21页珍藏版)》请在咨信网上搜索。
1、一、用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出#include void swap(int *pa,int *pb) int temp; temp = *pa; *pa = *pb; *pb = temp; void main() int a,b,c,temp; scanf(%d%d%d,&a,&b,&c); if(ab) swap(&a,&b); if(bc) swap(&b,&c); if(ac) swap(&a,&c); printf(%d,%d,%d,a,b,c); 二、C语言 用指针方法 输入3个字符串 按由小到大顺序输出#include stdio.h#inc
2、lude string.hint main(int argc, char* argv)char *t;char *p1=NULL,*p2=NULL,*p3=NULL;char ch120=0,ch220=0,ch320=0;p1=ch1;p2=ch2;p3=ch3; printf(No1:); scanf(%s,p1);fflush(stdin); printf(No2:);scanf(%s,p2);fflush(stdin); printf(No3:);scanf(%s,p3);fflush(stdin); if(strcmp(p1,p2)0)t=p1;p1=p2;p2=t;if(strcm
3、p(p1,p3)0)t=p1;p1=p3;p3=t;if(strcmp(p2,p3)0)t=p2;p2=p3;p3=t;printf(%sn%sn%sn,p1,p2,p3);return 0; 9.4编程输入一行文字,找出其中的大写字母,小写字母,空格,数字,及其他字符的个数#include void main() int a=0,b=0,c=0,d=0,e=0,i=0; char *p,s20; while(si=getchar()!=n)i+; p=s; while(*p!=10) if(*p=A&*p=a&*p=0&*p=9) d+; else e+; p+; printf(大写字母 %
4、d 小写字母 %dn,a,b); printf(空格 %d 数字 %d 非字符 %dn,c,d,e);9.5写一个函数,将3 3矩阵转置#include stdio.hvoid Transpose(int (*matrix)3) int temp; int i, j; for(i=1;i3;i+)/*转置*/ for(j=0;ji;j+) temp = *(*(matrix+j)+i); *(*(matrix+j)+i) = *(*(matrix+i)+j); *(*(matrix+i)+j) = temp; void main() int a33 = 1,2,3,4,5,6,7,8,9; T
5、ranspose(a); for(int i = 0;i3;i+) for(int j=0;j3;j+) printf(%d ,aij); printf(n); 9.6用指向一维数组的指针做函数参数#include#includeint main()void sort(char (*s)6);/一维数组的指针做函数参数int i;char str106;char (*p)6;/定义一维数组的指针做函数参数printf(please input string:/n);for(i=0;i10;i+)scanf(%s,&stri);p=str;/将str一维数组指针,赋值给p; sort(p);pr
6、intf(the output sequence :/n);for(i=0;i10;i+)printf(%s/n,stri);return 0;void sort(char (*s)6)/s指向一维数组的指针做函数参数;int i,j;char temp6, *t;t=temp; for(i=0;i9;i+)/i应该小于9;如果小于10,那么就比较了9+1次;按照冒泡法则,for(j=0;j0)strcpy(t,sj);strcpy(sj,sj+1);strcpy(sj+1,t);9.7编一程序,用指针数组在主函数中输入十个等长的字符串。用另一函数对它们排序,然后在主函数中输出10个已排好序的
7、字符串/用指针数组处理#include#includeint main()void sort(char *);int i;char str106, *p10;printf(please input 10 string:/n);for(i=0;i10;i+)/首先将10个str的首地址赋值给10个pi;pi=stri;/将第i个字符串的首地址赋予指针数组p的第i个元素;for(i=0;i10;i+)scanf(%s,pi);/scanf输入到&pisort(p);printf(the output 10 string:/n);for(i=0;i10;i+)printf(%s/n,pi);/输出到
8、pi;void sort(char *s)char *temp;int i,j;for(i=0;i9;i+)for(j=0;j0)temp=*(s+j);/*(s+j)指向数组指针,我想应该是字符串的首地址;所以可以直接赋值给temp指针;*(s+j)=*(s+j+1);*(s+j+1)=temp;9.8指针 将n个数按输入时顺序的逆序排列,用函数实现#include void reverse(int a,int n) int *p; for(p=a+n-1;p=a;p-) printf(%4d,*p); printf(n);main() int a20,n; int i; printf(In
9、put the length of array:); scanf(%d,&n); printf(Input the number of array:); for(i=0;is2,则输出正值;如果s1s2,则输出负值。#include main() int strcmp(char *p1,char *p2); int m; char str120,str220,*p1,*p2; printf(Input two strings:n); scanf(%s,str1); scanf(%s,str2); p1=&str10; p2=&str20; m=strcmp(p1,p2); printf(res
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 指针 习题 答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。