我想要这个练习的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;
}
答案 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;在上面的数组中。
你看到一个模式吗?