用C语言编写从字符数组S中删除存放在数组C中的字符的程序,急,在线等!

如题所述

第1个回答  推荐于2018-03-07
#include <stdio.h>
#include <malloc.h>
#include <string.h>
void deleteChar(char *s,char *c)
{
int slength= strlen(s);
int clength= strlen(c);
int* target = (int *)malloc(slength*sizeof(int));
for(int i=0;i<slength;i++)
{
target[i]=0;
}
for(i=0;i<slength;i++)
for(int j=0;j<clength;j++)
{
if(s[i]==c[j])
target[i]=1;
}
for(i=0;i<slength;i++)
printf("%d ",target[i]);
printf("\n");
for(i=0;i<slength;i++)
{
if(target[i]==1)
{
for(int j=i+1;j<slength;j++)
{
if(target[j]==0)
{
s[i]=s[j];
s[j]='\0';
target[j]=1;
break;
}
}
}
}
free(target);
}
void main()
{
char a[]="abcdef";
char b[]="bd";
deleteChar(a,b);
printf("%s\n",a);
}本回答被提问者和网友采纳
第2个回答  2012-08-14
假设数组S中的数据为abcd,数组c中的数据为ay。代码如下:

#include <iostream>

int main(int argc, char *argv[])
{
char s[]="abcd";
char c[]="ay";
for(int i=0;i<4;i++)
{
for(int j=0;j<2;j++)
{
if(s[i]==c[j])
{
for(int k=i;k<4;k++)
s[k]=s[k+1];
}
}
printf("%c",s[i]);
}
}

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网