编写程序,将某一指定字符从一个已知的字符串中删除

编写程序,将某一指定字符从一个已知的字符串中删除,第1张

#include"iostreamh"

void

main()

{

char

s[10],i,max;

cout<<"请输入字符:"<<endl;

cingetline(

s,

10

);

/cin>>s即可,不过这样仍种方式仍不可取,推荐cingetline/

for(i=0;i<10;i++)

if(s[i]=='m')

max=i;

for(i=max;i<9;i++)

s[i]=s[i+1];

cout<<"显示删除后字符串:"<<endl;

for(i=0;i<9;i++)

cout<<s[i]<<"

";

cout<<endl;

}

呵呵,好好学,要考试了吧;不要紧张,好好考啊;

#include<stdioh>

#include<stringh>

void fun(char a[],int k,int n);

main()

{

char a[80];

int k;

int n;

printf("input string:\n");

gets(a);

printf("input k,n:\n");

scanf("%d,%d",&k,&n);

fun(a,k, n);

return 0;

}

void fun(char a[],int k,int n)

{

int i;

for(i=k;i<strlen(a)-n;i++)

{

a[i]=a[i+n];

}

a[i]='\0';

puts(a);

}

一、算法描述

逐个比较字符串source中的字符,若当前i位置的字符等于待删除字符ch,则i+1len-1之间的子串整体前移;如此反复,直到所有待删除字符都找到并被删除为止。

二、 *** 作过程

三、参考程序

#include <stdioh>

#include <stringh>

/ 移除字符串source中的所有ch字符 /

void remove(char source, char ch);

void main()

{

char source[1000];

char ch;

printf("请输入一个字符串:");

gets(source);

printf("请输入待删除字符:");

ch = getchar();

remove(source, ch);

printf("新的字符串:");

puts(source);

}

/ 移除字符串source中的所有ch字符 /

void remove(char source, char ch)

{

int i, j;

int len = strlen(source);

for(i=0; source[i]!='\0'; i++)

{

if(source[i] == ch)

{

for(j=i+1; source[j]!='\0'; j++)

{

source[j-1] = source[j];

}

source[j-1] = '\0';

}

}

}

四、运行测试

请输入一个字符串:How are you

请输入待删除字符:o

新的字符串:Hw are yu

程序如下

有几点要注意

按照你的题目的要求,只能删除大写的C,

手动输入字符串

#include <stdioh>

#include <stringh>

//删除字符函数,参数分别是目标串和要删除的字符

void deleteC(char str, char del)

{

int i = 0;

int j = 0;

char ptr = str;

while(ptr[i] != '\0')

{

if (ptr[i] == del)//找到要删除的字符

{

j = i;

//该循环将要删除字符后面的字符

//与前面的接上

while (ptr[j] != '\0')

{

ptr[j] = ptr[j + 1];

j++;

}

}

i++;

}

}

void main()

{

char tmp[20]; //存储输入的字符串

printf("Enter the string:\n");

scanf("%s",&tmp);

printf("%s\n",tmp);

deleteC(tmp, 'C');//删除大写的C

printf("%s\n",tmp);

}

C语言程序:

#include <stdioh>

#include <stringh>

#define MAX 1000

int main()

{

char source[MAX];

char temp[MAX];

int i, j, len;

printf("请输入一个字符串:");

gets(source);

len = strlen(source);

for(i=0, j=0; i<len; i++)

{

if(source[i] == 'c' || source[i] == 'C')

continue;

temp[j++] = source[i];

}

temp[j] = '\0';

strcpy(source, temp);

printf("删除 c 字符后的字符串:");

puts(source);

return 0; 

}

运行测试:

请输入一个字符串:I'm Chrome CCD

删除 c 字符后的字符串:I'm hrome D

#include "stdioh"\x0d\#include "stringh"\x0d\void main()\x0d\{\x0d\ char str[500];\x0d\ int i;\x0d\ printf("请输入字符串:\n");\x0d\ gets(str);\x0d\ for(i=0;i='0'&&str[i]回答于 2022-11-16

1 几乎所有头函数需要# include因为项目包括输出和输入字符串和字符,h # include <字符串>。

2第二种方法是定义变量的性格[100]存储相同大小的两个字符串。(1)整数变量intc;Inti=0,j=0;代表一个字符串。

b[100]表示删除对应字符的字符串,整数C表示要删回除的位。JI是for循环中要用到的变量。

3Printf(“请输入您的字符串”);Scanf (" % s ", a);Printf("请输入字符删除");Scanf(“% d”,& c)。

4 The for (I = 0; I < strlen (a); I++) {if (I + 1! C) = {b [j] = [I]; J++; }} printf (" % s ", b); A}

5只要当I+1不等于c时,a[I]中的字符被分配给b[I],而当I+1等于c时,b[I]不被分配给b[I]。

6最后,我将带您亲历整个代码。

可以用strrep函数,会把一行中所有与指定字符串相同的内容删除,如下代码:

a='this is an example!'

b=strrep(a,'is','') %删除所有的‘is’

-----------运行结果:

a =

this is an example!

b =

th an example!

以上就是关于编写程序,将某一指定字符从一个已知的字符串中删除全部的内容,包括:编写程序,将某一指定字符从一个已知的字符串中删除、C语言怎样编写程序,删除字符串s中从下标k开始的n个字符(n与k的值从键盘输入)、c语言编写一个程序,实现查找一个字符串中的特定字符,并将其删除.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9285439.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存