C语言问题,请教~~

来源:百度知道 编辑:UC知道 时间:2024/06/17 15:26:09
要求:用户输入一个数组a[n],然后在输入一个含两个字符的新数组b[2],并且b[2]中的两个字符都是a[n]中的字符,然后从a[n]删除b[2]中所含的两个字符,并将删除后的数组赋值到a[n-2]中,并从终端输出·(n是一个已知的固定常数)并且不能使用字符串库函数!!!
删除后的结果是fe.

题目不清楚吧,若a[n]="cdfcedcd" b[2] = "cd",那么删除后的结果是什么呢?
fcedcd 还是 fced 还是 fe ?

ps:

#include <stdio.h>

#define N 30

int main()
{
// char a[N] = "cdfcedcd"; //测试数据
// char b[3] = "cd"; // 测试数据
char a[N];
char b[3];
char t[N];
printf("请输入一个字符串\n");
scanf("%s",a);
printf("请输入一个子字符串(含2个字符)\n");
scanf("%s",b);
int i = 0, j = 0;
while (a[i] != 0)
{
if (a[i] != b[0] && a[i] != b[1])
{
t[j] = a[i];
j++;
}
i++;
}
for (i = 0; i < j; i++)
{
a[i] = t[i];
}
a[j] = 0;
printf("删除后的结果:%s \n",a);
return 0;
}

#include <stdio.h>
#define NUM 10

void main()
{
int i, j, k;
i = 0;
char a[NUM];
char b[3];

scanf("