编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符

2024-02-15 10:48

本文主要是介绍编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


//编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符#include<stdio.h>
#include<string.h>
#define N 10
void fun(char s[N],int i,int n)
{   strcpy(s+i-1,s+i+n-1);printf("%s",s);
}
int main()
{char str[N];int i,n;printf("任意输入一个字符串:\n");scanf("%s",str);printf("输出你刚才输入的字符串:::\n");printf("%s\n",str);printf("请输入你要从什么位置删除这个元素\n");scanf("%d",&i);printf("请问您要删除连续多少个字符:\n");scanf("%d",&n);fun(str,i,n);return 0;
}

 

第二种方法不用系统函数strcpy实现的。


#include<stdio.h>
#include<string.h>
#define N 10
void fun(char s[N],int i,int n)
{   //strcpy(s+i-1,s+i+n-1);换一种方法实现来实现int j=i-1,k,x=strlen(s);for(;(j+n<x)&&(j<i+n);j++)*(s+j)=*(s+j+n);s[j]='\0';printf("%s",s);
}
int main()
{char str[N];int i,n;printf("任意输入一个字符串:\n");scanf("%s",str);printf("输出你刚才输入的字符串:::\n");printf("%s\n",str);printf("请输入你要从什么位置删除这个元素\n");scanf("%d",&i);printf("请问您要删除连续多少个字符:\n");scanf("%d",&n);fun(str,i,n);return 0;
}

 

啊啊啊,最后一种方法好像有点错误。。。求指正!!!!

 

//编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符#include<stdio.h>
#include<string.h>
#define N 10
void fun(char s[N],int i,int n)
{   //strcpy(s+i-1,s+i+n-1);换一种方法实现来实现
//把从i-1开始到n+i-2int j=0,b[N],k=0;while(s[j]!='\0'){if((j>=i-1)&&j<=(i+n-2)&&(i+n)<strlen(s)){   j++;continue;	}else{b[k++]=s[j];j++;}}printf("%s",b);}
int main()
{char str[N];int i,n;printf("任意输入一个字符串:\n");scanf("%s",str);printf("输出你刚才输入的字符串:::\n");printf("%s\n",str);printf("请输入你要从什么位置删除这个元素\n");scanf("%d",&i);printf("请问您要删除连续多少个字符:\n");scanf("%d",&n);fun(str,i,n);return 0;
}

有点头大,,搞出来的小伙伴记得指正下

这篇关于编写一个fun(str,i,n),从字符串str中删除第i个字符开始的连续的n个字符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711183

相关文章

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

2390.从字符串中移除星号

给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。 移除星号左侧最近的那个非星号字符,并移除该星号自身。 返回移除 所有 星号之后的字符串。 注意: 生成的输入保证总是可以执行题面中描述的操作。 可以证明结果字符串是唯一的。 示例 1: 输入:s = “leet**cod*e” 输出:“lecoe” 解释:从左到右执行移除操作: 距离第 1 个

Python 字符串占位

在Python中,可以使用字符串的格式化方法来实现字符串的占位。常见的方法有百分号操作符 % 以及 str.format() 方法 百分号操作符 % name = "张三"age = 20message = "我叫%s,今年%d岁。" % (name, age)print(message) # 我叫张三,今年20岁。 str.format() 方法 name = "张三"age

剑指offer(C++)--左旋转字符串

题目 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! class Solution {public:string LeftRotateStri

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征

AI学习指南机器学习篇-朴素贝叶斯处理连续特征和离散特征 在机器学习领域,朴素贝叶斯是一种常用的分类算法,它的简单性和高效性使得它在实际应用中得到了广泛的应用。然而,在使用朴素贝叶斯算法进行分类时,我们通常会面临一个重要的问题,就是如何处理连续特征和离散特征。因为朴素贝叶斯算法基于特征的条件独立性假设,所以对于不同类型的特征,我们需要采取不同的处理方式。 在本篇博客中,我们将探讨如何有效地处理

PAT-1039 到底买不买(20)(字符串的使用)

题目描述 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如,YrR8RrY是小红想做的珠串;那么ppRYYGrrYBR2258可以

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

如何利用echarts编写立体的柱状图表

1、引入 import * as echarts from 'echarts' 2、创建图标容器 3、调用渲染 <template><div ref="eachrtsBox" style="width: 200px;height: 200px;"></div></template><script>import * as echarts from 'echarts'export d

js小题:通过字符串执行同名变量怎么做

在JavaScript中,你不能直接使用一个字符串来直接引用一个变量,因为JavaScript是一种静态类型语言(尽管它的类型在运行时可以变化),变量的名字在编译时就被确定了。但是,有几种方法可以实现类似的功能: 使用对象(或Map)来存储变量: 你可以使用一个对象来存储你的变量,然后使用字符串作为键来访问这些变量。 let myVars = { 'var1': 'Hello', 'var

linux匹配Nginx日志,某个字符开头和结尾的字符串

匹配 os=1 开头, &ip结尾的字符串 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ 存入日志。然后使用submit 前面和后面的值去掉,剩下就是需要的字符串。 cat 2018-06-07.log | egrep -o ‘os=1.*.&ip’ >log.log