首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从另一个字符串创建字符串,并在C中每第n个字符之后插入一个字符

在C语言中,可以通过以下步骤从另一个字符串创建字符串,并在每第n个字符之后插入一个字符:

  1. 定义两个字符数组,一个用于存储原始字符串,另一个用于存储新创建的字符串。
  2. 输入原始字符串,并将其存储在第一个字符数组中。
  3. 输入要插入的字符,并将其存储在一个变量中。
  4. 输入要插入字符的位置间隔n。
  5. 使用循环遍历原始字符串中的每个字符。
  6. 在每第n个字符之后,将要插入的字符插入到新创建的字符串中。
  7. 将原始字符串中的当前字符复制到新创建的字符串中。
  8. 最后,将新创建的字符串输出或使用。

下面是一个示例代码:

代码语言:txt
复制
#include <stdio.h>
#include <string.h>

#define MAX_LENGTH 100

void createStringWithInsertion(char* originalString, char* newString, char insertChar, int interval) {
    int originalLength = strlen(originalString);
    int newIndex = 0;

    for (int i = 0; i < originalLength; i++) {
        newString[newIndex++] = originalString[i];
        
        if ((i + 1) % interval == 0) {
            newString[newIndex++] = insertChar;
        }
    }

    newString[newIndex] = '\0';
}

int main() {
    char originalString[MAX_LENGTH];
    char newString[MAX_LENGTH];
    char insertChar;
    int interval;

    printf("请输入原始字符串:");
    fgets(originalString, sizeof(originalString), stdin);
    originalString[strcspn(originalString, "\n")] = '\0'; // 去除fgets函数自动添加的换行符

    printf("请输入要插入的字符:");
    scanf("%c", &insertChar);

    printf("请输入插入字符的位置间隔:");
    scanf("%d", &interval);

    createStringWithInsertion(originalString, newString, insertChar, interval);

    printf("新创建的字符串为:%s\n", newString);

    return 0;
}

这段代码中,我们定义了一个createStringWithInsertion函数,它接受原始字符串、新创建的字符串、要插入的字符和插入字符的位置间隔作为参数。在函数中,我们使用循环遍历原始字符串中的每个字符,并在每第n个字符之后插入要插入的字符。最后,我们将新创建的字符串输出。

请注意,这只是一个简单的示例代码,可能需要根据实际需求进行修改和完善。另外,腾讯云相关产品和产品介绍链接地址与本问题无关,因此不提供相关内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C语言 | 将字符串的元音字母复制到另一个字符串

例70:C语言写一个函数,将一个字符串的元音字母复制到另一字符串,然后输出。 ...80],character[80]; //定义字符数组    printf("输入字符串:");//提示语句    gets(str); //键盘录入    copy(str,character); /.../调用该函数    printf("元音字母是:%s\n",character);//输出复制后的字符串    return 0;//主函数返回值为0  }  void copy(char s[],char...s[i];       j++;     }     else     { //不符合什么也不输出       character[j]='\0';     }    } } 编译运行结果如下: 输入字符串...以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言 | 将字符串的元音字母复制到另一个字符串 更多案例可以go公众号:C语言入门到精通

4.5K74

C语言经典100例002-将M行N列的二维数组字符数据,按列的顺序依次放到一个字符串

喜欢的同学记得点赞、转发、收藏哦~ 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即时查收 1 题目 编写函数fun() 函数功能:将M行N列的二维数组字符数据...,按列的顺序依次放到一个字符串 例如: 二维数组的数据为: W W W W S S S S H H H H 则字符串的内容是:WSHWSHWSH [image.png] 2 思路 第一层循环按照列数进行...,第二层循环按照行数 然后依次提出一列的字符 3 代码 为了熟悉二维数组的指针表示,部分代码给出了数组表示和指针表示 #include #include #define...M 3 #define N 4 /** 编写函数fun() 函数功能:将M行N列的二维数组字符数据,按列的顺序依次放到一个字符串 例如: 二维数组的数据为: W W W W S S S...S H H H H 则字符串的内容是:WSHWSHWSH **/ // 0 1 2 3 // 0 W W W W // 1 S S S S // 2 H H H H char *fun(char

6K30

vim-command

删除文字 key desc x 按一次,删除光标所在位置的后面一个字符。 nx 例如:“6x”表示删除光标所在位置后面6个字符。 X 按一次,删除光标所在位置的前面一个字符。...例如要在文件内搜索vbird这个字符串,就输入/vbird即可(常用) ?word 光标位置开始,向上寻找一个名为word的字符串 n n是英文按键。表示“重复前一个搜索的动作”。...在n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。...”(常用) a、A a为“当前光标所在的下一个字符处开始插入”,A为“光标所在行的最后一个字符处开始插入”(常用) o、O 这是英文字母o的大小写。...ls /home”,即可在vi查看/home以ls输出的文件信息 :set nu 显示行号,设置之后,会在一行的前缀显示该行的行号 :set nonu 与set nu相反,为取消行号 特别注意,

80120

我赌你工作必用的vim操作快捷键

word 向光标之上寻找一个字符串名称为 word 的字符串n 这个 n 是英文按键。代表『重复前一个搜寻的动作』。...:n1,n2s/word1/word2/g n1 与 n2 为数字。在 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !...(常用) a, A 进入插入模式(Insert mode): a 为『目前光标所在的下一个字符处开始插入』, A 为『光标所在行的最后一个字符处开始插入』。...:w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据,读入另一个档案的数据。...vim 环境的变更 :set nu 显示行号,设定之后,会在一行的前缀显示该行的行号 :set nonu 与 set nu 相反,为取消行号!

1K41

字典树(前缀树)_字典树java实现

上面这棵Trie树包含的字符串集合是{in, inn, int, tea, ten, to}。每个节点的编号是我们为了描述方便加上去的。树一条边上都标识有一个字符。...Trie.insert(W):第一个操作是插入操作,就是将一个字符串W加入到集合。 2. Trie.search(S):第二个操作是查询操作,就是查询一个字符串S是不是在集合。...这样我们就把n插入了。由于n是”in”的最后一个字符,所以我们还需要将P=2这个节点标记为终结点。 现在我们再插入字符串”inn”。...最后再插入字符n这时P没有标识为n的边了,所以新建3号节点作为2号节点的子节点,边标识为n,同时将3号节点标记为终结点: 将后面的字符串int tea ten to都插入之后,就得到了我们一开始给出的...Trie[i][j]的值是0表示trie树i号节点,并没有一条连出去的边,满足边上的字符标识是字符集中j个字符0开始);trie[i][j]的值是正整数x表示trie树i号节点,有一条连出去的边

98720

Linuxvi与vim编辑操作

i:插入光标前一个字符 I:插入行首 a:插入光标后一个字符 A:插入行末 o:向下新开一行,插入行首 O:向上新开一行,插入行首 移动光标 h:左移 j:下移...Ctr-u:向上翻半屏 gg:光标移动文件开头 G:光标移动文件末尾 1.3 删除命令 常用: x 删除光标后一个字符,相当于del X 删除光标前一个字符...【:2,7s/ddd/fff/g】在2行,7行之间,将ddd替换成fff :1,$s/string1/string2/g   第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2...(常用) :1,$s/string1/string2/gc  第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !.../sky/   替换 n 行开始到最后一行一行的第一个 vivian 为 sky :n,$s/vivian/sky/g   替换 n 行开始到最后一行一行所有 vivian 为 sky

3.1K20

C Primer Plus(七)

并且,由于字符串十分常用,所以 C 提供了许多专门用于处理字符串的函数,我们之后会一一介绍。...双引号字符和编译器自动加入末尾的 \0 字符,都作为字符串储存在内存 ANSI C 标准起,如果字符串字面量之间没有间隔,或者用空白字符分隔,C 会将其视为串联起来的字符串字面量。...此时,才将字符串拷贝到数组。注意,此时字符串有两个副本。一个是在静态内存字符串字面量,另一个是储存在 ar1 数组字符串。...gets() 函数简单易用,它读取整行输入,直至遇到换行符,然后丢弃换行符,储存其余字符并在这些字符的末尾添加一个字符使其成为一个 C 字符串。...如果该参数的值是 n,那么 fgets() 将读入 n-1 个字符,或者读到遇到的第一个换行符为止。 如果 fgets() 读到一个换行符,会把它储存在字符串

63110

2023-04-28:将一个给定字符串 s 根据给定的行数 numRows以从上往下、从左到右进行 Z 字形排列比如输入字符串

H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串 "PAHNAPLSIIGYIR" 请你实现这个将字符串进行指定行数变换的函数 string convert...4.创建一个字符数组 ans,其长度与输入字符串 s 相同,并用空格符初始化。...5.根据 Z 字形排列的规律,按顺序遍历一行 i( 0 行到 numRows-1 行)及其对应的列 j(一列长度为 t)。...如果该字符所在的行不是 0 行和最后一行,并且在下一个周期中对应的位置 nextColTop-i 小于字符串的长度 n,则将 s[nextColTop-i] 也填入 ans 数组,并将 fill 指针再次向后移动一位...空间复杂度:O(n),我们需要使用一个字符数组 ans 存储变换后的字符串,数组的大小为输入字符串 s 的长度 n。另外,我们还使用了常数级别的额外空间存储变换时需要的一些变量。

22530

vi编辑器

在vi窗口的左下角开始从左到右顺序显示:1.文件名news2.3L表示这个文件中一共有3行3.170C表示这个文件一共有170个字符4. 1.1表示目前光标在1行的1个字符处,如果移动光标的位置,这个列号或字符也会随之而变...进入插入模式:vi命令行模式进入插入模式的命令行如下:a:进入插入模式并在光标之后进行添加i:进入插入模式并在光标之前进入插入A:键入插入模式并在当前行之后进行添加I:进入插入模式并在当前行之前插入o...常用编辑命令及编辑技巧:常用加快编辑速度的命令如下:dtc:删除光标所在处到字符c的全部内容rc:删除光标所在处的字符并以字符c取代、c是任意一个字符cw:进入插入模式用输入覆盖光标处到该单字结尾所处有内容...x:删除光标所在处的字符J:将当前行与之下的行合并~:转换光标所在字母大小写ndd:删除n行(光标所在行算起)、n是自然数,如3、4、5nyy:复制n行nx:删除n个字符R:以输入的字符替代原有的字符直到按...它存放在用户的家目录,其操作步骤如下:1.在用户家目录创建一个名为.exrc的文件2.将设置vi变量值的命令放入.exrc文件3.在输入set命令时没有前导的冒号4.文件一行只存放一条命令。

2.8K40

Python 密码破解指南:5~9

它不仅告诉你一个字符串是否存在于另一个字符串,还告诉你在哪里。...使用%s文本的字符串格式将一个字符串放在另一个字符串字符串的第一个%s被字符串末尾括号的第一个值替换。 在交互式 shell 输入以下内容: >>> 'Hello %s!'...在这个例子,首先将字符串'world'插入字符串'Hello %s!',代替%s。它的工作原理就好像你已经将字符串位于%s之前的部分与插入字符串和位于%s之后的部分连接起来。...,您已经使用了in和not in操作符来指示一个字符串是否存在于另一个字符串。...这样做将创建字符串'Ceno',这是密文的第一列。然后我们将再次这样做,但是message的第二个字符开始创建第二列。 26 行开始的for循环中有一个 30 行开始的while循环。

1.8K50

Objective-C: 字符串NSString与NSMutableString

字符串算是OC中非常重要和常用的一部分内容,OC字符串与我之前在学习C,C++,Java字符串有一定的不同,它非常类似于C++容器的概念,但用法却与之还是有很大的不同,也许是因为OC...创建个字符串对象:  NSString *str1 = @"this is string A"; NSString *str2 = @"this is string B";       计算字符串字符个数...stringWithString : str1]; NSLog(@"copy : %@" , res); stringByAppendingString,将一个字符串复制到另一个字符串的末尾: str2...,获取str5个字符开始,与后面字符组成的字符串: //获取str5个字符开始,与后面字符组成的字符串 NSString *s2 = [str substringFromIndex...:5]; NSLog(@"%@" , s2);       获取str5个字符开始,到15个字符组成的字符串: //获取str5个字符开始,到15个字符组成的字符串

65860

linux(五)之vi编译器

1.2、插入模式(输入模式)   当用户在编辑模式下键入i/a/o等命令之后,可进入插入模式。在该模式下,用户随后输入的,除Esc之外的任何字符均将被看成是插入到编辑缓冲区字符。...按Esc之后插入模式切换到编辑模式。 1.3、命令模式(底线命令模式)   在插入模式下,键入":"可进入命令模式。...在命令模式,Vi将把光标挪到屏幕的最下方,并在一个字符的位置显示一个“:”(冒号)。这时,用户就可以键入一些命令。   ...vi +N file1(N:为数字) 如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件N1列的位置上。...复制指定文件的内容(使用底行模式)::r filename   3.6、查抄一个字符串 输入/,并在/后面输入要查找的串,然后按下回车 输入“n”跳转到该串的下一个出现处 输入“N”跳转到该串的上一个出现处

3K80

vi编辑器参数

使用下表的命令每次可以移动一个字符: 命令 描述 k 向上移动光标(移动一行) j 向下移动光标(移动一行) h 向左移动光标(移动一个字符) l 向右移动光标(移动一个字符) 两点提醒: vi 是区分大小写的...有很多命令可以普通模式切换到编辑模式,如下所示: 命令 描述 i 在当前光标位置之前插入文本 I 在当前行的开头插入文本 a 在当前光标位置之后插入文本 A 在当前行的末尾插入文本 o 在当前位置下面创建一行...O 在当前位置上面创建一行 删除字符 下面的命令,可以删除文件字符或行: 命令 说明 x 删除当前光标下的字符 X 删除光标前面的字符 dw 删除当前光标到单词结尾的字符 d^ 删除当前光标到行首的字符...:r file 读取文件并在当前行的后边插入 :nr file 读取文件并在 n 行后边插入 文本查找 如果希望进行全文件搜索,可以在普通模式(按两次 Esc 键)下输入 / 命令,这时状态栏(最后一行...这时,输入 n 命令可以按相同的方向继续查找,输入 N 命令可以按相反的方向继续查找。 搜索的字符串可以包含一些有特殊含义的字符,如果希望搜索这些字符本身,需要在前面加反斜杠()。

89040

vim配置即.vimrc文件的配置及vim操作技巧

:[n]r filename在n插入另一个文件的内容。 :r !date 在光标处插入当前日期与时间。同理,:r !command可以将其它shell命令的输出插入当前文档。...:split filename -- 水平分割窗口,并在新窗口中显示另一个文件。 :nsplit(:nsp) -- 水平分割出一个n行高的窗口。...左右方向键:左/右移一个字符C-w: 向前删除一个单词。 C-h: 向前删除一个字符,等同于Backspace。 C-u: 当前位置移动到命令行开头。 C-b: 移动到命令行开头。...然后紧随一个字符串是则是在当前所编辑的文档向前查找该字符串。...完成一次查找之后n 键则是重复上一次的命令,可在同一方向上查找下一个字符串所在;或者按 Shift-N 向相反方向查找下该字符串所在。   3.

3.6K10

vim 学习笔记(四)—— 常用命令汇总

第二次使用该命令则会撤消前一个"U"的操作。用"u"和CTRL-R你可以找回任何一个操作状态。 6.追加 "i"命令可以在当前光标之前插入文本。 "a"命令可以在当前光标之后插入文本。...要查找上次查找的字符串的下一个位置,使用"n"命令。如果你知道你要找的确切位置是目标字符串的第几次出现,还可以在"n"之前放置一个命令计数。"3n"会去查找目标字符串3次出现。 "?...要把一个字符替换为一个换行符使用"r”。它会删除一个字符插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。 29.重复改动 "....55.替换字符串 /vivian/sky/ 替换当前行第一个 vivian 为 sky /vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换...n 行开始到最后一行一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换 n 行开始到最后一行一行所有 vivian 为 sky n 为数字,若 n 为 .

70730

Linux基础——正则表达式

该模式描述在查找文字主体时待匹配的一个或多个字符串。 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。...常用正则表达式: 1、.代表任意单个字符, 如:/l..e/与包含一个 l,后跟两个字符,然后跟一个e 的行相匹配 2、^代表行的开始。...[^ab^c] 匹配不是 a,b,^,c 的任意单个字符 5、*用于修饰前导字符,表示前导字符出现 0次或任意多次 如:'a*grep'匹配所有 0 个或多个 a 后紧跟 grep 的行。...4、取代行:c 命令 c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行 ?...iput_files 可以是多于一个文件的文件列表,awk将按顺序处理列表的每个文件。在 awk ,文件的一行,由域分隔符分开的每一项称为一个域。

4.3K30

Linux系统下基础命令介绍

例如: *表示可执行,/表示目录,=表示套接字 ​ 用ls - l命令显示的信息,开头是由10个字符构成的字符串,其中第一个字符表示文件类型: - 普通文件、d 目录 、l 符号链接、b 块设备文件...pwd命令:显示工作目录 功能:在Linux层次目录结构,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。...,当中的3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。...​ 插入文本: a 光标后面开始添加文本 A 光标所在行的末尾开始添加文本 i 光标前面开始插入文本 I 光标所在行的开始处插入文本 o 在目前光标所在的下一行处插入新的一行 O 在目前光标所在处的上一行插入新的一行...[str] 查找字符串str,[str]表示要查找的字符串,回车后会加亮显示所有找到的字符串,命令n移动到下一个找到的字符串,命令N移动到上一个找到的字符串 示例: /hello ​ 块操作: v 可视化块选择状态

1.3K40

sed 命令+正则表达式

s     使用替换模式替换相应模式     a\     在定位行号后附加新文本信息        r     另一个文本读文本     i\     在定位行号后插入新文本信息        w...        y  传送字符     n      另一个文本读文本下一行,并附加在下一行   {}     在定位行执行的命令组     g      将模式2粘贴到/pattern n/ 基本...假定正在过滤一个文本文件,对于一个有1 0个字符的脚本集,要求前4个字符之后为X C,匹配操作如下:. . . .X C. . . . 2、在行首以^匹配字符串字符序列    ^只允许在一行的开始匹配字符或单词...在行首4个字符为1,匹配操作表示为:^ . . . 1 3、在行尾以$匹配字符串字符    可以说$与^正相反,它在行尾匹配字符串字符, $符号放在匹配单词后。...使用“ -”表示一个字符串范围,表明字符串范围“ -”左边字符开始,到“ -”右边字符结束。

3.3K20
领券