【简答题】![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/logo-new-ad743.png)
【函数2说明】
本题中的函数encode()和decode()分别实现对字符串的变换和复原。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:
1.若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中。
2.若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它自己复制到新字符串中。
3.若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后续字符(包括后续字符是一个数字字符)重复复制n+1次到新字符串中。
4.以上述一次变换为一组,在不同组之间另插入一个下划线字符“-”用于分隔。例如。encode()函数对字符串26a3t2的变换结果为666_a_tttt_2
复原函数decode()做变换函数encode()的相反的工作。即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。
假定调用变换函数encode()时的已知字符串中不包含下划线字符。
【函数2】
int encode(char*instr,char * outstr)
{
char*ip,*op,c;int k,n;
ip=instr;op=outstr;
while(*ip){
if 1 &&*(ip+1){
n= *ip -"0"+ 1;
c= *++ip;
for(k=0;k<=n;k++)
2 ;
}
else 3 ;
*op++ ="-";
ip++;
}
if(op>outstr) 4 ;
*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 5 *op++="0"+n-1;
*op++=c;
if(* ip=="_",) 6 ;
}
* op="\0";
return op-outstr;
}
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA5ElEQVRYR2NkGGDAOMD2M+B0wKpVq9huv/jbxPD/fxwDA4MkhQ59zsDIuEhVgrkuLCzsF7JZOB3QOml5B8P//+UUWoyqnZGxszovsoI4B0xc9gyfzxmZmb2rcsK3IRvWMWm599///7fgcfTz6vwoKWId8B+f75kZGX0q8iK3kugAhur8KJRQxx0FE5fhdQC5UTPqgNEQGA2B0RAYDYHREBgNgaETAuTW96TqG7yt4tbRFhGRIQBqHTP9+8dIoDUMTxqk5AK8zXKYiaDWMYhNpANIaJYPdMdkwLtmpOZnctUPeDkAAP6tmiH1ggTLAAAAAElFTkSuQmCC)
手机使用
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/share-ico-3febd.png)
分享
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/link-f6c98.png)
复制链接
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/weibo-3e538.png)
新浪微博
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/qq-1c308.png)
分享QQ
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/wechat-a78ae.png)
微信扫一扫
微信内点击右上角“…”即可分享
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/report-ico-11843.png)
反馈
![收藏 - 刷刷题](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/coll-ico-cfcc9.png)
收藏
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/jubao-9c477.png)
举报
![刷刷题](https://cdn-fe.shuashuati.com/sst-weixin-xcx/assets/shua/sst_w.png)
参考答案:
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/logo-new-ad743.png)
参考解析:
![](https://cos-cdn.shuashuati.com/shuashuati-web/2024-0521-0905-00/logo-new-ad743.png)