[编程练习]字符串相关

来源:互联网 发布:杜兰特得分王数据 编辑:程序博客网 时间: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
原创粉丝点击