用c语言编写一个程序:两个字符串a、b,将a中所有b中含有的字符删除。

如a: hijklmnhijklmn,b:apple,结果为a:hijkmnhijkmn

第1个回答  2008-01-02
#include <stdio.h>
#include <string.h>
#define N 40

void fun(char s[],int c)
{
int i=0;
char*p;
p=s;
while(*p)
{
if(*p!=c)
{
s[i]=*p;
i++;
}
p++;
}
s[i]='\0';
}

main()
{
char stra[N],strb[N];
int i;

printf("请输入原始字符串a: ");
gets(stra);
printf("请输入删除字符串b: ");
gets(strb);

for(i=0;strb[i]!='\0';i++)
fun(stra,strb[i]);
printf("删除指定字符串b后的字符串a: ");
puts(stra);
}本回答被提问者采纳

c语言 知道一段字符串和两个字符a和b,ab在字符串中先后出现各一次,如 ...
可以用字符串函数的话 可以这样 void func(char *src, char *a, char *b, char *dst)\/\/将src中,a和b中间的字符串复制到dst中。{ char *p1, *p2; p1 = strstr(src,a); p2 = strstr(src,b); if(p1&&p2) { p1+=strlen(a); strncpy(dst, p1, p2-p1); ...

【C语言】输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符...
include<stdio.h>#include<string.h>int main(){ char a[50],b[50]; int i=0,j=0,min=0,max=0,x,y; gets(a); gets(b); x=strlen(a); y=strlen(b); for(i=0; i<x; i++) { if(a[i]<a[min]) min=i; } for(j=0; j<y; j++) { if(b[j...

用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变...
程序代码如下:include <stdio.h> \/\/编译预处理命令 int main(int argc, char *argv[]) \/\/主函数,字符的声明 { char a,b; \/\/定义字符a,b scanf("%c %c",&a,&b); \/\/输入字符a,b printf("%c %c\\n",a,b);\/\/打印字符a,b return 0; \/\/返回并且输出a,b } 扩展...

怎么用c语言删除字符串中的字符?
一、问题描述:从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。1、输入:第一行是一个字符串; 第二行是一个字符。2、输出:删除指定字符后的字符串。二、设计思路:1、 同插入问题,定义两个字符数组a,b。以及标志删除位置的int型pos。2、用gets函数...

【C语言】输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符...
include<stdio.h>#include<string.h>int main(){ char a[101], b[100]; int i = 0, j = 0, min, max, x, y; min = 0;\/\/min在下面(if (a[i]<a[min]))作为右值被调用,要先做初始化 max = 0;\/\/初始化 gets(a); gets(b); x = strlen(a); y = strlen(b); for...

c语言中怎样写删除字符串中某个字符的程序啊?
c语言中书写删除字符串中某个字符的程序的具体操作步骤如下:1、编写头函数,包括“#include <stdio.h>.”与“#include <string.h>.“。2、定义两个相同容量的字符串储存的变量 char a【100】; char b【100】。以及整数变量 int c;int i=0,j=0;其中a[100]是存字符串的,b【100】是...

怎样用c语言编写删除重复字符的程序
程序的基本思路是把输入的字符串放到a[100]字符组中,然后把a[100]中所有不重复的字符添加到b[100]中,间接完成对字符串中的重复字符的删除 include void main(){ char a[100],b[100];\/\/定义两个字符组,a[100]用来接收输入的字符串,b[100]用来存储不重复的字符 int pa=0,pb=0,i,flag;...

急求!C语言编写一函数,把一个字符串中所有的字母或数字字符都去掉,产 ...
if (str[i]>= 'a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z') \/\/删除字母,若是数字,改为<='9'&&>='0'tmp[j++] = str[i];tmp[j] = '\\0';for (i=0;tmp[i];i++)str[i] = tmp[i];str[i] = '\\0';} void main(){ char str[111] = "hello world!

C语言 编写程序输入一个字符串,删除字符串中的所有数字字符后输出此字...
include "stdio.h"include "string.h"void main(){ char str[500];int i;printf("请输入字符串:\\n");gets(str);for(i=0;i<strlen(str);i++){ if(str[i]==' '||(str[i]>='0'&&str[i]<='9'))continue;else printf("%c",str[i]);} printf("\\n");} ...

C语言编写一个程序输入两个字符串1和字符串2(两个字符串长度不超过20...
strDest++; \/\/将指向'\\0'的下一个位置。\/所以要在循环体内++;因为要是*strDest最后指 } \/\/向该字符串的结束标志’\\0’。while(*strDest++ = *strSrc++){ p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在...

相似回答