&"og:type" content="webpage">&" /> &"> 写一个c程序,删去字符串里的指定字符。_CMS教程_内存溢出

阅读 1

写一个c程序,删去字符串里的指定字符。,第1张

#include "stdioh"

void delchar(char str, char ch)

{

 char i, j;

 i = j = str;

 for (int n = 0; (j + n) != '\0'; n++)

 {

  if ((j + n) != ch)

   i++ = (j+n);  

 }

 (i++) = '\0';

}

void _tmain(int argc, _TCHAR argv[])

{

 char a[100];

 char b; printf("请输入一个字符

");

 scanf_s("%s",a,100);

 getchar(); printf("请输入一个要删去的

字符

");

 scanf_s("%c",&b,1);

 getchar();

 delchar(a,b);

 printf("%s", a);

 while (1);

}

#include<stdioh>

int del_substr(char str,char const substr)

{

int flag=0,n;

char p=str,q=(char)substr,pp,qq;

while(p){

if(p==q){

pp=p;qq=q;n=0;

while(pp&&qq){

if(pp!=qq){break;}

else{

pp++;qq++;n++;

}

}

if(!(qq)){

pp=p+n;

while(pp){

(pp-n)=pp;

pp++;

}

}

(pp-n)='\0';

}

p++;

}

return 0;

}

void main()

{

char s[15]="abcdebcfg",t[3]="bc";

del_substr(s,t);

puts(s);

}这个库提供了字符串处理的通用函数

。 例如字符串查找、子串、模式匹配等。 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 )。 索引可以是负数,它指从字符串末尾反向解析。 即,最后一个字符在 -1 位置处,等等。

字符串库中的所有函数都在表 string 中。 它还将其设置为字符串元表的 __index 域。 因此,你可以以面向对象的形式使用字符串函数。 例如,stringbyte(s,i) 可以写成 s:byte(i)。

字符串库假定采用单字节字符编码。

stringbyte (s [, i [, j]])

返回字符 s[i], s[i+1],  ,s[j] 的内部数字编码。 i 的默认值是 1 ; j 的默认值是 i。 这些索引以函数 stringsub 的规则修正。

数字编码没有必要跨平台。

stringchar (···)

接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值。

数字编码没有必要跨平台。

stringdump (function [, strip])

返回包含有以二进制方式表示的(一个 二进制代码块 )指定函数的字符串。 之后可以用 load 调用这个字符串获得 该函数的副本(但是绑定新的上值)。 如果 strip 为真值, 二进制代码块不携带该函数的调试信息 (局部变量名,行号,等等。)。

带上值的函数只保存上值的数目。 当(再次)加载时,这些上值被更新为 nil 的实例。 (你可以使用调试库按你需要的方式来序列化上值,并重载到函数中)

stringfind (s, pattern [, init [, plain]])

查找第一个字符串 s 中匹配到的 pattern )。 如果找到一个匹配,find 会返回 s 中关于它起始及终点位置的索引; 否则,返回 nil。 第三个可选数字参数 init 指明从哪里开始搜索; 默认值为 1 ,同时可以是负值。 第四个可选参数 plain 为 true 时, 关闭模式匹配机制。 此时函数仅做直接的 “查找子串”的 *** 作, 而 pattern 中没有字符被看作魔法字符。 注意,如果给定了 plain ,就必须写上 init 。

如果在模式中定义了捕获,捕获到的若干值也会在两个索引之后返回。

stringformat (formatstring, ···)

返回不定数量参数的格式化版本, 格式化串为第一个参数(必须是一个字符串)。 格式化字符串遵循 ISO C 函数 sprintf 的规则。 不同点在于选项 , h, L, l, n, p 不支持, 另外还增加了一个选项 q。 q 选项将一个字符串格式化为两个双引号括起,对内部字符做恰当的转义处理的字符串。 该字符串可以安全的被 Lua 解释器读回来。

你这既不是C++,也不是C,不伦不类的

建议你看C++

Primer或者C++

Primer

Plus吧

无论C语言还是C++,main函数都应该写成这个样子

int

main()

{

//add

your

own

code

here

return

0;

}

你这个程序,如果要用std::cin和std::cout,就定义string对象,不要用字符数组

#include

"iostreamh"

#include

"stdioh"

int

main()

{

char

s[10],i,max;

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

scanf("%s",s);;

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

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

max=i;

//你的程序中这个地方写反了,这是一个逻辑错误

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

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

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

printf("%s",s);

cout<<endl;

return

0;

}

直接使用空字符串替换就可以。

String b = "abcabcabc";

b=breplace("b","");

这个方法是替换所有的,如果是想找第一个是b的,可以如下

String s = "abcabcabc";

int i=sindexOf("b");

s=ssubstring(0, i)+ssubstring(i+1);

Systemoutprintln(s);

扩展资料:

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。

但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可。

参考资料来源:百度百科-Java

一、算法描述

逐个比较字符串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>

#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<string>

#include<cctype>

using namespace std;

int main()

{

string s, result_str;

bool has_alpha=false;

char ch,cc;

cout<<"Enter a string:"<<endl;

getline(cin,s);

以上就是关于写一个c程序,删去字符串里的指定字符。全部的内容,包括:写一个c程序,删去字符串里的指定字符。、用c编一个程序,删除字符串的一部分,函数原型如下: int del_substr(char*str ,char const *substr)、编写程序输入一个字符串,删除字符串中的所有数字字符(判断是否数字字符可使用库函数isdigit,详见教材附等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:

内存溢出

原文地址:

https://outofmemory.cn/zz/9270244.html
程序
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
360小说网 360小说网 一级用户组
京东用什么软件抢鞋
上一篇
2023-04-26
JAVA编写程序,输出100到1000间的所有偶数,并要求每行输出“10个数字
2023-04-26

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label}