e943xn0x37 发表于 2016-6-7 06:47:26

[C/C++]华为机试题 2011-9-17

  
  问题描述: 过滤输入字符串中的重复字符.
  
  

/* 请按照要求实现下列函数 */
/* 过滤输入字符串中的重复字符 , 假设输入 google , 输出应为 gole   */
void changeStr(const char *pIn, char *pOut)
{
//统计目前为止不重复字符,初始值为1
//初始时, 输入串第一个字符加入输出串
int count = 1;//统计目前为止不重复字符
/*
扫描输入串, 查看输入串中字符是否存在于输出串
若存在, 则继续扫描
若当前输入串字符与所有输出串中字符比较过后, 未有相同的字符
则加入到输出串中.
*/
for(int i=1; i<strlen(pIn); i++)
{
for(int j=0; j<count; j++)
{
if(pIn == pOut)
break;
else
{
if(j == count-1)
{
pOut = pIn;
}
}
}
}
//输出串中保存的非重复字符后一个字符置为'\0'
//以结束字符串
pOut = '\0';
}
页: [1]
查看完整版本: [C/C++]华为机试题 2011-9-17