这个练习的C ++代码是什么?

时间:2015-05-05 22:46:05

标签: c++

我想要这个练习的C ++代码,尤其是转移数组元素的部分。

练习:

编写一个函数deleteChar,它删除第一个参数a中出现的第二个参数c的单个字符。

假设原型是

void deleteChar(char a [],char c);

示例输出:

键入字符串:指环的主人很酷

输入要删除的信件: o

删除字符'o'后的字符串: lrd f the ring is cl

这是我的功能部分代码:

void deleteChar(char a[], char c)
{
int x= strlen(a);
for(int i=x-1;i>=0;i--)
{if(a[i]==c)
   {a[i]=' ';}
}
for(int i=x-1;i>=0;i--)
{
if(a[i]==' ')
a[i]=a[i+1];
a[i+1]=' ';


}
cout<<a;

}

1 个答案:

答案 0 :(得分:0)

我的大脑被炸了,所以我不会给你转移的代码。

我很高兴并为您提供方法论。

A&#34;转移&#34;您可以使用下一个插槽中的值替换上一个插槽中的值:

  0   1   2   3    
+---+---+---+---+  
| c | o | a | l |  
+---+---+---+---+  

要删除删除&#39; o&#39;在第1位,在第2和第3位的字母后面被复制:

  0   1   2   3    
+---+---+---+---+  
| c | a | a | l |  
+---+---+---+---+  
      ^   |  
      +---+  

  0   1   2   3    
+---+---+---+---+  
| c | a | l | l |  
+---+---+---+---+  
          ^   |  
          +---+  

手动,步骤是:

  a[1] = a[2];
  a[2] = a[3];

使用纸张和书写工具,记下删除字母&#39; c&#39;在上面的数组中。

你看到一个模式吗?