软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2014年下半年程序员考试下午真题试题(案例分析)
考试中心《2014年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2014年下半年
试题题型【分析简答题】
试题内容

 阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。
【说明】
    函数removeDuplicates(char *str)的功能是移除给定字符串中的重复字符,使每种字符仅保留一个,其方法是:对原字符串逐个字符进行扫描,遇到重复出现的字符时,设置标志,并将其后的非重复字符前移。例如,若str指向的字符串为“aaabbbbscbsss”,则函数运行后该字符串为“absc”。
【C代码】
void removeDuplicates(char *str)
{
    int i, len=strlen(str);    /* 求字符串长度 */
   
    if(  (1)  ) return;  /* 空串或长度为1的字符串无需处理 */
    for( i=0; i<len; i++ )  {
            int flag=0;    /* 字符是否重复标志 */
int m;
           for( m= (2) ; m<len; m++ )  {
                  if( str[i]==str[m] )  {
                   (3) ; break;
                  }
          }
        if(flag)    {
            int n, idx=m;
/* 将字符串第idx字符之后、与str[i]不同的字符向前移 */
            for( n=idx+1;  n<len;  n++  )
                if( str[n]!=str[i] )  {
                    str[idx]=str[n];       (4) ;
                }
            str[  (5)  ]='\0';       /* 设置字符串结束标志 */
        }
    }
}


相关试题

推荐文章
合作网站内容