此练习的C 代码是什么

What is the C++ code for this exercise?

本文关键字:代码 是什么 练习      更新时间:2023-10-16

我想要此练习的C 代码,尤其是移动数组元素的部分。

练习:

写一个函数,deletechar,该函数删除了第一个参数中的任何出现,即单个字符,这是第二个参数,c。

假设原型是

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

样本输出:

键入字符串:戒指的主很酷

输入删除字母: o

删除字符'o'之后的字符串: lrd f戒指是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;
}

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

我会很好,为您提供方法。

a" shift"是您在下一个插槽中替换上一个插槽中值的值:

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

要移动在位置1处删除'o',在第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];

使用纸张和写作工具,写下以上数组中删除字母" c"的步骤。

您看到了模式吗?