c语言 把某一字符串中的其中一段字符串替换成另一串字符串。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 把某一字符串中的其中一段字符串替换成另一串字符串。相关的知识,希望对你有一定的参考价值。
例如原字符串为“abcdef”,将其中的“bc”换成“xy”,怎么实现?
参考技术A 这个写一个算法吧,搜索字符串,寻找"b",找到后判断b的后一个字符是否为"c",如果不是c,则继续搜索直到字符串结束,如果为c,那么将bc替换为xy。输入一个字符串,删除其中的数字字符
示例
输入:A1b2c3
输出:Abc
不要写这么复杂的,开头用void main,以上4个都不符合要求啊
#include<stdio.h>
#include<stdlib.h>
int
main()
char
string[20];
int
counter
=
0;
printf("输入字符串:");
gets(string);
for(int
k=0;k<20;++k)
if(string[k]>=48
&&
string[k]<=57)
counter++;
printf("数字个数:%d",counter);
system("pause");
#include
<stdio.h>
void
main()
char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
参考技术B 楼上的会把ASC2码中数字之前的字符也删掉了,比如+-*/!#等等
#include
void
main()
char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
参考技术C #include <stdio.h>
void main()
int i=0,j=0;
char s[20],b[20];
gets(s);
while(s[i]!='\0')
if( s[i]<'0'||s[i]>'9')
b[j++]=s[i];
i++;
puts(b);
参考技术D #include <iostream>
#include <cstring>
#include <cctype>
int main()
char instr[80] = '\0';
char outstr[80] = '\0';
int len = 0;
std::cout << "please input a string:";
std::cin.getline(instr,80);
len=strlen(instr);
for (size_t i=0,j=0; i<len; ++i)
if (!isdigit(instr[i]))
outstr[j] = instr[i];
++j;
std::cout << outstr << std::endl;
system("pause");
以上是关于c语言 把某一字符串中的其中一段字符串替换成另一串字符串。的主要内容,如果未能解决你的问题,请参考以下文章
vscode用啥符号把某一段代码包起来,类似C#的#region?