插入字符串_字符串插入 - CSDN
精华内容
参与话题
  • C++在字符串1的指定位置插入字符串2

    千次阅读 2019-12-03 15:37:12
    功能:编写程序,输入字符串S1和S2以及插入位置n,在字符串S1中的指定位置n处插入字符串S2,。例如:输入jiangsu,123,和位置3,则输出ji123angsu #include <iostream> #include <cstring> using ...

    IDE:codeblocks

    日期:2019/12/3

    功能:编写程序,输入字符串S1和S2以及插入位置n,在字符串S1中的指定位置n处插入字符串S2,。例如:输入jiangsu,123,和位置3,则输出ji123angsu

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void inse(char [],char [],int);
    
    int main(void)
    {
        char s1[50],s2[50];
        int index,i;
        cout<<"输入字符串1和2(长度<20)"<<endl;
        cin.getline(s1,20);
        cin.getline(s2,20);
        cout<<"输入要插入位置的次序"<<endl;
        cin>>index;
        while(index>strlen(s1)+1)
        {
            cout<<"该位序越界,重新输入"<<endl;
            cin>>index;
        }
        inse(s1,s2,index);
        cout<<"插入后:"<<endl;
        cout<<s1;
        return 0;
    }
    
    void inse(char s1[],char s2[],int index)
    {
        int n1=strlen(s1),n2=strlen(s2),i;
        for(i=n1;i>=index-1;i--)
        {
            s1[i+n2] = s1[i];
        }
        for(i=0;i<n2;i++)
        {
            s1[index-1+i] = s2[i];
        }
    
    }
    
    
    展开全文
  • 字符串插入

    千次阅读 2019-09-26 00:35:56
    题目内容: 有两个字符串str和substr,str和substr的字符个数不超过10^5,只包含大小写字母和数字。(字符个数不包括字符串结尾处的’\...输出格式: 输出插入之后的字符串。 输入样例: abcab eee 输出样例: abceeeab

    1.字符串插入(10分)
    题目内容:

    有两个字符串str和substr,str和substr的字符个数不超过10^5,只包含大小写字母和数字。(字符个数不包括字符串结尾处的’\0’。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。

    输入格式:
    输入数据只有一行,格式为
    str substr

    输出格式:
    输出插入之后的字符串。

    输入样例:
    abcab eee

    输出样例:
    abceeeab
    时间限制:500ms内存限制:32000kb


    C语言↓

    #include<stdio.h>
    #include<string.h>
    
    int main(){
    	char str[100000], substr[100000];	//声明字符数组 
    	int length, max;
    	length = max = 0;
    	
    	scanf("%s%s", &str, &substr);		//scanf()函数输入字符串,以空格间隔,回车结束 
    	length = strlen(str);				//用string库中的strlen()函数获取str字符串长度
                                            //不包括'\0' 
    	for(int i=0; i<length; i++){
    		if(str[i]>str[max])				//比较str字符串中各字符大小 
    			max = i;					//记录最大字符的下标 
    	}
    	for(int i=0; i<=max; i++) 
    		printf("%c", str[i]);			//printf()输出str中最大字符及之前的字符串
    	printf("%s", substr);				//其后输出要插入的substr字符串 
    	for(int i=max+1; i<length; i++)
    		printf("%c", str[i]);			//在substr字符串后继续输入str的后半部分 
    
    	printf("\n");	
    	return 0;	
    }
    

    过程中遇到的问题:

    1. 不熟悉字符串的数据类型和定义,一开始在输入输出时傻傻地用了%c,翻看ppt才想起是%s;
    2. 不熟悉scanf()函数用法,试了半天不知道怎么实现“C语言在同一行输入两个字符串,以空格隔开,回车结束”
      [外链图片转存失败(img-rPxO7xJw-1569428804389)(en-resource://database/2853:0)]
      直到看见——
      [外链图片转存失败(img-qCxhZwVZ-1569428804390)(en-resource://database/2855:0)]
      scanf遇到空格就停止了……就停止了……停止了……止了……了……………………
      What?!【黑人问号.gif】我脑子的内存是用光了吗???【头大.gif】
      所以直接scanf输入就ok,会自动根据空格分成两个字符串。
    • getchar()是在用户键入回车后,通过缓冲区一个字符一个字符地读取,返回int类型的ASCII码。相对应的有putchar();

    getchar由宏实现:#define getchar() getc(stdin)。

    getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。
    当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。

    getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。

    如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。直到缓冲区中的字符读完后,才等待用户按键。
    ——from 百度百科

    • gets()在用户键入回车后,从缓冲区读入一行字符(以’\n’或EOF结束),返回字符数组的指针。
    • getch()则直接从键盘读取字符,不需键入回车,每输入一个字符都立即返回ASCII码。
    1. 用string.h库里的函数strlen()可以获取字符串长度,这是搜索到的。
      P.S. strlen()和sizeof()的区别在于前者是函数,计数时不包括’\0’,且返回值是size_t类型(无符号整型);而后者是单目运算符,计数时包括结束字符,在编译时计算缓冲区长度,不能用来返回动态分配的内存空间的大小。
      参考文章:C语言strlen与sizeof的区别详解

    C++↓

    #include<iostream>
    #include<cstring>
    int main(){
        std::string str, substr;
        while(std::cin>>str>>substr){
            int n = str.length();
            int max = 0;
            for(int i=0; i<n; i++)
                if(str[i]>str[max])
                    max = i;
            for(int i=0; i<=max; i++)
                std::cout << str[i];
            std::cout<<substr;
            for(int i=max+1; i<n; i++)
                std::cout << str[i];
            std::cout << std::endl;
        }
        return 0;
    }
    

    暂待解决的基础概念性问题:

    1. string类&类模板basic_string
    2. 输入输出流&cin、cin.get()等(输入方法总结
    3. 标准命名空间std
    展开全文
  • 在一个字符串中间插入一个字符串

    千次阅读 2016-11-20 17:58:50
    C - 寻梦 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice HDU 2567 ...每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不...

    C - 寻梦
    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

    Description

    每个人的童年都可能梦想过自己成为一个英雄,尤其是喜欢武侠的男生,Yifenfei也不例外。 
    童年的他常常梦想自己能成为一个绝世英雄,手拿一把灿灿发亮的宝剑,手挽一位长发飘逸的秀丽气质MM ^_^ ,散步于清幽的泉边小道,微风吹过,飘落两片枫叶。。。。。。 
    正由于成天陶醉于这种脱世的意境之中,导致此人老大不小依旧形单影只,每天只能在人潮中孤单上路。。。。。。 
    现在就让我们为这个可怜的人创造一个机会,权当假设yifenfei现在已经捕获一位MM的芳心,但该MM被邪恶并且极其可恶的大魔头(AC女之杀手 lemon)抓走。为了正义,为了MM,燃烧吧。。。。。。 

    好了,现在就正式开始我们的行程,接下来将有6关等待着yifenfei,让我们帮助他战胜邪恶的lemon大魔王吧。 

    来到大魔王居住的千年古墓前,呈现在yifenfei眼前的是墓碑上神秘的字符,经过仔细研究,发现原来这是开启古墓入口的方法。 
    墓碑上有2行字符串,其中第一个串的长度为偶数,现在要求把第2个串插入到第一个串的正中央,如此便能开启墓碑进入墓中。 

    Input

    输入数据首先给出一个整数n,表示测试数据的组数。 
    然后是n组数据,每组数据2行,每行一个字符串,长度大于0,小于50,并且第一个串的长度必为偶数。 

    Output

    请为每组数据输出一个能开启古墓的字符串,每组输出占一行。

    Sample Input

    2
    HDCM
    UA
    Aw
    CFlo

    Sample Output

    HDUACM
    ACFlow
    //水的不能再水的水题,我的做法比较粗鲁容易理解,就是将字符串分离,先将第一部分和第二部分分开保存,然后在创一个新的字符串,将这三部分连接起来

    #include<cstring>
    #include<cstdio>
    #include<string>
    using namespace std;
    char a[1000],b[1000],temp[1000],t[1000],m[1000];//a,b存储要输入的两个字符串,后面的temp t 分别存储a的前后两部分,m将a的前一部分和中间的,以及最后一部分连接起来就好了
    void Insert(char a[],char b[])
    {
    	int la=strlen(a),lb=strlen(b);
    	int i,j=0,k;
    	for(i=0;i<la/2;i++)
    	{
    		t[i]=a[i];
    	}
    	t[i]='\0';
    	for(i=la/2;i<la;i++)
    	{
    		temp[j]=a[i];
    		j++;
    	}
    	temp[j]='\0';
    	for(i=0;i<la/2;i++)
    	{
    		m[i]=t[i];
    	}
    	m[i]='\0';
    	for(i=la/2,k=0;k<lb;k++,i++)
    	{
    		m[i]=b[k];
    	}
    	for(i=la/2+lb,k=0;k<la;k++,i++)
    	{
    		m[i]=temp[k];
    	}
    	printf("%s\n",m);
    }
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	while(n--)
    	{
    		scanf("%s",a);
    		scanf("%s",b);
    		Insert(a,b);
    	}
    	return 0;
    }

    fighting !!!!!!赳赳老秦复我河山




    展开全文
  • 题目:编写一个函数,将一个字符串插入到另一个字符串的某个位置后面(例如:将”abc”插入到”abcdef”的第三个字符位置后面,结果为”abcabcdef”...再将str2字符串(待插入字符串)复制到str1的指定位置; 将str1和

    题目:编写一个函数,将一个字符串插入到另一个字符串的某个位置后面(例如:将”abc”插入到”abcdef”的第三个字符位置后面,结果为”abcabcdef”)。编写程序时,请在必要的地方加以注释(注:不能用该程序语言的内置函数或过程)。

    思路:

    • 将str1字符串的指定位置后的内容复制到另一个字符串中,空间换时间降低时间复杂度;
    • 再将str2字符串(待插入字符串)复制到str1的指定位置;
    • 将str1和tmp拼接起来(这里用到了字符串拼接函数)。

    代码实现:

    #include <iostream>
    #define Max_num 1000
    
    int myStrlen(const char *str)
    {
        int len = 0;
        while (*str++)
            len++;
        return len;
    }
    
    void myStrcat(char *str1, char *str2)  //拼接函数
    {
        int len1 = strlen(str1);
        int len2 = strlen(str2);
        for (int i = 0;i < len2;i++)
        {
            str1[len1 + i] = str2[i];
        }
        str1[len1 + len2] = '\0';
    }
    
    void myLink(char *str1, char *str2,int pos)
    {
        int len1 = myStrlen(str1);
        int len2 = myStrlen(str2);
        char *tmp= (char *)malloc(sizeof(char));
        int cnt = 0;
        for (int i = pos; i <= len1;i++) 
        {
            //*tmp++ = str1[i];    //指针要初始化或者有相应的值,这样是错误的
            tmp[cnt++] = str1[i];
        }
        int j;
        for ( j = 0;j < len2;j++)
        {
            str1[ pos + j] = *str2++;
        }
            str1[pos + j] = '\0';
            myStrcat(str1, tmp);
    }
    
    int main()
    {
        char str1[Max_num], str2[Max_num];
        int n;
        while (cin>>str1>>str2)
        {
            cin >> n;
            myLink(str1, str2, n);
            cout << str1 <<endl;
        }
        return 0;
    }
    展开全文
  • JS 字符串固定位置插入字符

    万次阅读 2018-08-30 11:54:04
    //为字符串插入字符 其中soure为原字符串,start为将要插入字符的位置,newStr为要插入的字符 function insertStr(soure, start, newStr){ return soure.slice(0, start) + newStr + soure.slice(start); } ...
  • 插入字符

    2019-07-07 09:59:01
    字符串插入字符,实现插入位置之后的内容依次后移。 #include<iostream> using namespace std; int main() { char str[10] = "Chna";//未赋值的字节为空字符\0,ascii码值是0 char ch = 'i'; ...
  • c++字符串插入与删除操作

    万次阅读 多人点赞 2017-10-27 16:29:24
    (1)在字符串s1的第pos个位置前 插入字符串s2 s1.insert( pos,s2); (2)在字符串s1的第pos个位置前 插入字符串s2的从begin开始到end的前一个字符结束的子串 s1.insert(pos,s2,begin,end)
  • String固定位置插入字符串,实现方法比较多,比如数组等方法 下面举例说明 StringBuilder 是可变的字符串 public class StrDemo { public static void main(String[] args) { String str1 = "我java"; ...
  • # 在字符串的自定位置插入字符 # 因为python中str是不可变的变量,所以借助list来完成 str_i = "20081231" list_i = list(i) # str -&gt; list print(list_i) list_i.insert(4, '/') # 注意不用重新...
  • 在指定位置拼接和插入字符串 在日常开发中我们经常会碰到对字符串的操作,今天就来总结下Java中对字符串的拼接。 拼接字符串可分为两种: 1.在字符串末尾添加字符串; 2.在字符串任意位置添加字符串; 1.在字符...
  • 两步: 1:、将String类型转化为StringBuffer类型;...2、利用StringBuffer类型的insert函数插入想要插入字符串。 下面给出代码:String s; String b; StringBuffer sb = new StringBuffer(b); sb.insert(0,s);
  • php函数:substr_replace(string,string,string, ... 参数说明: 1. $string: 被插入字符串 2. $insert_string: 待插入字符串 3. $start: 插入的位置 Instance: $string = "abc"; ...
  • 在字符串中的特定位置插入字符串

    千次阅读 2016-07-06 08:59:52
    // str: 原字符串 subStr:需要插入字符串 indexs:要插入的所有位置的索引 setStrMarke=function(str,subStr,indexs){ var string=str; for(var i=0;i;i++){ var s=''+subStr+''; string=string.substr(0,...
  • 编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2。例如,输入“jiangsu”、“123”和位置3,则输出“ji123angsu”。
  • str_1='wo shi yi zhi da da niu/n'str_list=list(str_1) nPos=str_list.index('/') str_list.insert(nPos,',') str_2="".join(str_list...从文件中提取行,在行最末尾插入一个逗号 改法同样可以求解前面帖子里面的问题
  • 字符串指定位置插入一个字符

    千次阅读 2019-06-24 10:31:48
    function newStr(str, n) { var newStr = str.slice(0, str.length - n) + ‘.’ + str.slice(-n) return newStr } console.log(newStr(‘12111111115’, 2)) // 121111111.15 欢迎使用Markdown编辑器 ...
  • 示例一: char *insert(char *s1, char *s2, int n) { int len1 = 0, len2 = 0, j = 0, len3, k = 0; char s4[30]; char *s3 = s4; if (s1 == NULL) return NULL; if (s2 == NULL) ... len1 = strlen...
  • Python字符串中添加、插入特定字符

    万次阅读 2019-09-09 20:57:16
    所以无法直接删除、插入字符串之间的特定字符。 所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。 1、添加字符实现 添加字符或字符串 如果想...
  • 1.在特定字符串所在行后添加一行或多行字符: 实例一:通过grep获取特定字符串所在的行号处添加行
  • js 在字符串中引入变量

    万次阅读 2017-10-26 16:05:39
    字符串插入变量
1 2 3 4 5 ... 20
收藏数 678,373
精华内容 271,349
关键字:

插入字符串