#include <stdio.h> void yasuo( char *str ); void main() { char str[40]; gets( str ); yasuo( str ); printf("%s/n",str); } void yasuo( char *str ) { int i,j=0,len=1; /*j用来将数组重新复制,len用来记载连续的个数*/ for ( i=0; *(str+i)!='/0'; i++ ) { if ( *(str+i) == *(str+i+1) ) { len++; } else { *(str+j) = *(str+i); j++; if ( len >1) { *(str+j) = len+48; /*加48是转换为字符型*/ j++; len = 1; } } } *(str+j)='/0'; }