指针经典练习题及答案.doc

上传人:李医生 文档编号:8579338 上传时间:2020-11-27 格式:DOC 页数:9 大小:31KB
返回 下载 相关 举报
指针经典练习题及答案.doc_第1页
第1页 / 共9页
指针经典练习题及答案.doc_第2页
第2页 / 共9页
指针经典练习题及答案.doc_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《指针经典练习题及答案.doc》由会员分享,可在线阅读,更多相关《指针经典练习题及答案.doc(9页珍藏版)》请在三一文库上搜索。

1、指针经典练习题及答案二、程序题1、计算字符串中子串出现的次数。要求:用一个子函数subStrin()实现,参数为指向字符串和要查找的子串的指针,返回次数。2、加密程序:由键盘输入明文,通过加密程序转换成密文并输出到屏幕上。算法:明文中的字母转换成其后的第4个字母,例如,变成E(a变成e),Z变成D,非字母字符不变;同时将密文每两个字符之间插入一个空格。例如,China转换成密文为Gl r e。要求:在函数chae中完成字母转换,在函数insert中完成增加空格,用指针传递参数。3、字符替换。要求用函数replae将用户输入的字符串中的字符t(T)都替换为e(E),并返回替换字符的个数。4、编写

2、一个程序,输入星期,输出该星期的英文名。用指针数组处理。、有个字符串,首先将它们按照字符串中的字符个数由小到大排列,再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。、定义一个动态数组,长度为变量n,用随机数给数组各元素赋值,然后对数组各单元排序,定义swp函数交换数据单元,要求参数使用指针传递。7、实现模拟彩票的程序设计:随机产生个数字,与用户输入的数字进行比较,输它们相同的数字个数(使用动态内存分配)。/*1、计算字符串中子串出现的次数。要求:用一个子函数suSring()实现,参数为指向字符串和要查找的子串的指针,返

3、回次数。#ncludeint suString(chr, cha *b)it = 0;nt j =0;it m = ;chr p = b;whie(a)wile(a)if(*a= *b)break;a+;hile(*b)if(*a!=*b) retrn ; else ; b+; a+;/a+; = p;+m;retur m;int main()ha a10;char b100;prinf(请输入字符串:);get();printf(请输入字符串b:);ge();prinf(%, sutrn(a, b);rturn 0;/*、加密程序:由键盘输入明文,通过加密程序转换成密文并输出到屏幕上。算法:

4、明文中的字母转换成其后的第4个字母,例如,A变成E(a变成e),Z变成,非字母字符不变;同时将密文每两个字符之间插入一个空格。例如,Cina转换成密文为 lm r e。要求:在函数change中完成字母转换,在函数inser中完成增加空格,用指针传递参数。 #incldetoh#nludevoid chang(char *p)while(*p)*p= *p+4;p+;int mai()cha a2100= ;ntf(请输入明文:);t(a0);chane(0);stpy(1, 0);pintf(密文为:);in(%sn, 1);return ;/*3、字符替换。要求用函数replace将用户输

5、入的字符串中的字符t(T)都替换为(E),并返回替换字符的个数。 */#incude#cumallo.hin Myrelac(chr *p)nti =;while(*p)if(p =t|*p = T)p = *p-15;i+;p+;return i;int main()int m;cha 100;char*p =;printf(请输入字符串:);gets();m Myeple();pinf(%sn,p);prntf(%dn, m);retur0;/*4、编写一个程序,输入星期,输出该星期的英文名。用指针数组处理。/iclde#includevofun(char (a)0, ca *b, cha

6、r *c,t m)ini = 0;int 0;whie(ci)i( = *)strcpy(b, a);break;i+;int min()chaa10=i, e, sa, si, wu, i, i;chr 0 = 1, 2, 4, 5, , ;ch 100 = ;/ca* = b;int m;scn(d, &);fun(, b, c, &m);prnt(%s, );retu 0;第二种方法/*4、编写一个程序,输入星期,输出该星期的英文名。用指针数组处理。*/#include#cudesighvid fn(chr (*a)100, car *b, cha c, nt *m)wile(*c)f(

7、*c = *m)stc(b, *);eak;+;a+;int m()cr a10 yi, er, sn, i,wu, li, q;char0 = , , 3, , 5, , 7;ca b100 =;/cha * b;nt ;sanf(%d, &);fun(a, , , &);prinf(%sn, b);retur 0;/*5、有5个字符串,首先将它们按照字符串中的字符个数由小到大排列,再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。 /#includstdio.h#includevi n(chr (*)10, it *b

8、, ar*c)int i = 0;t 0;char ep100;for( 0;i;i+) i stlen(ai);for(i = 0; i4; i+)fo(j =i1; jbj)strcpy(tmp,ai);trc(ai, aj);trcpy(aj, emp);fr( 0; i5; i+) i(len(ai)3) scat(c, ); else ci a2;/tcat(c, &ai2); inmain()har a010;inti ;nt b10 = ;char100 =;f(i =1; i6; +)intf(请输入字符串:, ); gets(ai1);f(, b, c);or(i 0; in

9、lues *a)nsignedint i = 0;nsgneint j 0;ch temp;o(i = 0; strlen()-; i+)for( = +1; j j)temp = ai; ai j; aj= ep;int main()chr0= ;in = 0;in j = ;while(i-!= n)si = gtchar();i+;Mywap();for(j = 0; sj; j+)inf(c ,s);rinf(n);etn0;#icde#inclde stdohlde iun(int *a, it b, int*)icount = 0;wle(*)f(b= a)*c = *b;out+;c+;a+;b;return un;int mn()int =;int nu;nt a;it b0 = ;int c0 =0;for(i = 0; ; i+)i = 1rand();pnt(请输入六个数:);for( = 0; i6; i+)sa(d, bi);intf(n);nu = fu(a, ,c);int(出奖号码为:);for( = 0; ; i+)ntf( , ai);ptf(n);prinf(中奖号码为:);fr(i =0;ci; i+)printf(%d , ci);rintf(n);prit(中奖个数为:dn, um);urn 0;I0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1