删除重复字符

来源:互联网 发布:离线unity3d 编辑:程序博客网 时间:2024/05/22 00:17

题目1:删除重复字符

例如:zzzgggddes转为zgdes

#include <iostream>#include <string.h>using namespace std;void func(const char *input,char *output){    char repeat=NULL;    while(*input!='\0')    {        if(*input!=repeat)        {            *output++=*input;            repeat=*input;        }        input++;    }    *output='\0';}int main(){    char *input="zzzgggddes";    char *output=new char[strlen(input)+1];    func(input,output);    cout<<output<<endl;    return 0;}

题目2:识别字符串中的整数并转换为数字形式

void take num(const char *strIn,int *n,unsigned int *outArray)

例如:

输入:strIn="ab00cd+123fght456-25 3.005fgh"

输出: n=6

outArray={0,123,456,25,3,5}

#include <iostream>using namespace std;void take_num(const char *strIn,int *n,unsigned int *outArray){    unsigned int sum=0;    //bool flag=false;    int i=0;    while(*strIn!='\0')    {        if(*strIn>='0'&&*strIn<='9')        {            while(*strIn>='0'&&*strIn<='9')            {                sum=sum*10+*strIn-'0';                strIn++;            }            outArray[i++]=sum;            sum=0;        }        else            strIn++;    }    *n=i;}int main(){    char *strIn="ab00cd+123fght456-25 3.005fghjljk98dd";    unsigned int outArray[100];    int n=0;    take_num(strIn,&n,outArray);    for(int i=0;i<n;i++)        cout<<outArray[i]<<' ';    cout<<'\n'<<n;    return 0;}


0 0
原创粉丝点击