[编程练习]字符串相关
来源:互联网 发布:杜兰特得分王数据 编辑:程序博客网 时间:2024/05/11 23:26
1.题目:设计函数 void Insert(char *s,char *t,int pos), 在串s的位置pos-1和pos之间插入串t。假设分配给串s的空间足以插入串t。要求不使用任何字符串库函数。
#include <iostream>using namespace std;void Insert(char *s,char *t,int pos);int main(){ char cp1[30]={"helloworld\0"}; char cp2[]={"zhuzhiwen\0"}; Insert(cp1,cp2,2); cout<<cp1<<endl; return 0;}void Insert(char *s,char *t,int pos){ int slen=0,tlen=0; char *sp=s,*tp=t; while(*sp!='\0') { sp++; slen++; } cout<<"s strlen: "<<slen<<endl; while(*tp!='\0') { tp++; tlen++; } cout<<"t strlen: "<<tlen<<endl; if(pos<0||pos>slen) { cout<<"越界"<<endl; } else { for(int i=slen;i>=pos;i--) { s[i+tlen]=s[i]; } for(int j=pos;j<pos+tlen;j++) { s[j]=*t++; } }}
注意点:
1.在main函数中,字符串s与字符串t必须存储在数组中方能对其中的字符元素进行更改,如果如下所示用C风格字符串存储"helloworld",则该字符串已经初始化就无法更改。
*cp1="helloworld";
cp[1]='z'; //error
2.要时刻注意s和t后面的字符串终结符'\0'。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. 题目:在string中统计出现的字符、字符个数和每个字符出现的次数。
/*统计字符串中出现的字符、字符个数和每个字符出现的次数**/#include <iostream>#include <cctype>#include <cstring>using namespace std;void Count(char *ch,int &k,int num[]);int main(){ char *cp="zhuzhiwen"; int k=0; int num[26]={0}; Count(cp,k,num); for(int i=0;i<26;i++) { if(num[i]) cout<<"字母"<<(char)(i+97)<<"出现次数为:\n"<<num[i]<<'\n'; } return 0;}void Count(char *ch,int &k,int num[]) //ch指向字符串首地址,k返回字符个数,num记录每个字符出现的次数{ k=0; while(*ch!='\0') { if(isalnum(*ch)) { char c=tolower(*ch); if(!num[c-'a']) { k++; } num[c-'a']++; ch++; } else { cout<<"输入不是字母"; return; } }}
在这里着重要注意指针和引用的区别。
【欢迎读者交流批评指正~】
0 0
- [编程练习]字符串相关
- 字符串相关练习题目
- [字符串]HDU1106 字符串相关练习
- 字符串编程练习
- VSB编程相关练习题目
- 字符串相关的编程
- 【编程语言】java---字符串练习
- 编程练习4--字符串同构
- java 进阶编程练习(字符串)
- 网络编程练习字符串反转
- 编程练习3---字符串(字符串翻转)
- Python基础练习——字符串相关
- 数据库编程连接字符串相关
- 编程题目C++字符串相关
- 线性表相关编程题练习
- 编程练习3---字符串的翻转
- GEEK编程练习— —回文字符串
- GEEK编程练习— —字符串匹配
- C++对象数组
- 数据库抽象之sqlhelper
- 栈操作的C++实现
- Python中的模块
- (五)抽样和抽样分布、区间估计
- [编程练习]字符串相关
- HashMap、HashTable、LinkedHashMap和TreeMap
- R语言数据挖掘值关联规则挖掘
- js事件
- Python基础
- POJ 3187 Backward Digit Sums
- group by 深入总结
- HDU2896AC自动机模板
- javascript 实现压缩文件夹