您的位置:首页 > 职场人生

面试题目(2)——转换字符串-插入字符个数

2008-02-29 14:28 295 查看

题目要求:

转换字符串——插入字符的个数,如字符串aaab,插入字符个数后变为aaa3b1。

代码如下:




/**//************************************************************************


* 转换字符串——插入字符的个数


* 如,aaab,变为aaa3b1


************************************************************************/




#include <stdlib.h>


#include <stdio.h>


#include <string.h>




#define MAXCOUNT 2*100 //输入的字符串长度不能超过100




char *transformation(char *str)




...{


int len=strlen(str);


char *buf=new char[len+1]; //存放某个字符的个数即该字符后的字符串




char *p=str;


char *q=p+1;


int count=1;


while(*q)




...{


if(*p==*q)




...{


count++;


p++;


q++;


}


else




...{


itoa(count,buf,10);


int nbits=strlen(buf);


strcat(buf,q);


*q=0;


strcat(str,buf);


q+=nbits;


p=q;


q=p+1;


count=1;


}


}





//最后一个相同字符的个数


itoa(count,buf,10);


strcat(str,buf);




delete []buf;


buf=NULL;


return str;


}




//显示菜单


void show_menu()




...{


printf("--------------------------------------------- ");


printf("input command to test the program ");


printf(" i or I : input string to test ");


printf(" q or Q : quit ");


printf("--------------------------------------------- ");


printf("$ input command >");


}




void main()




...{


char sinput[10];


char str[MAXCOUNT];




show_menu();




scanf("%s",sinput);


while(stricmp(sinput,"q")!=0)




...{


if(stricmp(sinput,"i")==0)




...{


printf(" please input an string:");


scanf("%s",&str);


printf(" before transformation: %s ",str);


char *pstr=transformation(str);


printf(" after transformation: %s ",pstr);


}




//输入命令


printf("$ input command >");


scanf("%s",sinput);


}


}



运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐