首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一路面试题:AABCC输出为:A2B1C2

2012-11-06 
一道面试题:AABCC输出为:A2B1C2#include stdio.h#include stdlib.h// A2B2C2A2void deal( const char

一道面试题:AABCC输出为:A2B1C2

#include <stdio.h>#include <stdlib.h>// A2B2C2A2void deal( const char *pIn, char *pOut){const char *tmpIn;char *tmpOut;char count;// 字符计数器char preCh;// 前一个字符char curCh;// 当前字符tmpIn = pIn;tmpOut = pOut;count = '1';preCh = *tmpIn;while (*tmpIn++){curCh = *tmpIn;// 如果前一个字符与当前字符相等,则计数加1if (preCh == curCh){count++;}else{// 否则,说明出现不同字符,需要输出前一个字符及个数// 这里是关键,保证是一个字符串!!!*tmpOut++ = preCh;*tmpOut++ = count;*tmpOut = 0;// 为下一个字符处理做准备count = '1';preCh = curCh;}}}int main(void){char *pIn = "A";char arr[20];deal(pIn, arr);printf("%s\n", arr);return 0;}

?

热点排行