华为14试机

来源:互联网 发布:软件破解网站 编辑:程序博客网 时间:2024/05/17 03:56
#include <iostream>#include "string.h"#include "stdlib.h"#include "stdio.h"using namespace std;void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr){    int map[26];    int  i=0;    for(;i<26;++i)        map[i]=0;    int des_pos=0;    for(i=0;i<lInputLen; ++i)    {        int pos=pInputStr[i]-'a';        if(!map[pos]){            map[pos]=1;            pOutputStr[des_pos++]=pInputStr[i];        }    }    pOutputStr[des_pos]=0;}/* question 2*/void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr){    int sPos,dPos=0;    char pCh=pInputStr[0];    sPos=1; //locate to secocnd char    int count=1;    cout<<"input string:"<<pInputStr<<"\t len:"<<lInputLen<<endl;    while(sPos<=lInputLen){       // cout<<"stepping"<<endl;        if(pInputStr[sPos]!=pCh)        {            if(count>1)            {                char temp[10];                sprintf(temp,"%d",count);//                strcat(pOutputStr,temp);                int tempLen=strlen(temp);                for(int j=0;j<tempLen;j++)                    pOutputStr[dPos++]=temp[j];             //   cout<<"temp string:"<<pOutputStr<<endl;            }            pOutputStr[dPos++]=pCh;            cout<<"temp string:"<<pOutputStr<<endl;                count=1;            pCh=pInputStr[sPos];        }        else            count++;//      next char        cout<<"sPos:"<<sPos<<"\tcount:"<<count<<endl;        sPos++;    }     pOutputStr[dPos]=0;}int main(){    char pInputStr[100],pOutputStr[100];//cout<<"hello"<<endl;    cin>>pInputStr;    int len=strlen(pInputStr);  //  stringFilter(pInputStr, len, pOutputStr);    stringZip(pInputStr, (long)len, pOutputStr);    cout<<pOutputStr<<endl;    return 0;}

0 0