📄 3-3-4.c
字号:
/*中国系统分析员顾问团,http://www.csai.cn*/
/*程序员下午考试指南书籍源码*/
#include <stdio.h>
int encode(char *instr, char *outstr){
char *ip, *op ,c ; int k,n;
ip = instr; op = outstr;
while (*ip) {
if (*ip >= '0' && *ip <= '9' && *(ip+1)){
n = *ip - '0' + 1;
c = *++ip;
for (k = 0;k < n; k++)
*op++ = c;
}
else *op++ = *ip;
*op++ = '_';
ip++;
}
if (op > outstr) op--;
*op = '\0';
return op - outstr;
}
int decode(char *instr, char *outstr){
char *ip, *op, c; int n;
ip = instr; op = outstr;
while (*ip) {
c = *ip; n = 0;
while (*ip == c && n < 10) {
ip++; n++;
}
if (n > 1) *op++='0'+n-1;
*op++ = c;
if (*ip == '_') ip++;
}
*op = '\0';
return op - outstr;
}
main()
{
char istr[]={'2','6','a','3','t','2','\0'},ostr[30];
encode(istr,ostr);
printf("Encode:Instring=%s,Outstring=%s\n",istr,ostr);
decode(ostr,istr);
printf("Encode:Instring=%s,Outstring=%s\n",ostr,istr);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -