⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3-3-4.c

📁 2005软件工程师考试下午编程题源代码
💻 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 + -