C++编程练习题2——数组与指针1. 打印杨辉三⾓形(8⾏)。
杨辉三⾓形:
1
1 1
1 2 1
1 3 3 1
提⽰:使⽤⼆维数组并利⽤每个系数等于其肩上两系数之和;
使⽤制表符’\t’保证打印对齐。
2. 编写函数int Converts (char s[ ]),将字符串s转化为整型数返回。
提⽰:注意负数处理⽅法。⽤指针处理字符串⾮常⽅便。使⽤符号位来处理负数。
3. 分别编写下列字符串处理函数:
指针与二维数组
1)char *strcat1(char *s,const char *ct);
将串ct接到串s的后⾯,形成⼀个长串。【例6.7】以数组为参数,现⽤指针为参数。
2)int strlen1(const char * s);
求字符串长度的函数,返回串长(不包括串结束符)。
3)char * reverse (char *);
反置字符串s,即可将“break”成为“kaerb”。
4)char * strchr( const char *cs,char c);
查字符c在串cs中第⼀次出现的位置,返回指向该字符的指针,若没有出现则返回NULL。
5) char *strstr (const char *cs1,const char *cs2);
返回串cs2作为⼦串在cs1中第⼀次出现的位置,若没有出现则返回NULL。
4. 使⽤递归和⾮递归的两种⽅法编写函数
char *itoa (int n,char *string);
将整数n转换为⼗进制表⽰的字符串。(在⾮递归⽅法中,可使⽤reverse()函数。)
提⽰:递归⽅法分析。难度⼤,可⽤图解法:
每次调⽤除以10,以去除最后⼀位,以n=3657为例。
由此图可见,由string指向应填⼊的字符数组的相应位置。
参考程序下载
密码:p2xo

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。