c语言实现字符串的指定位置删除

要求:任意输入一串字符串,指定要删除的位置,并输入要删除指定位置后字符的个数

实现代码如下:

#include <stdio.h>
#include <string.h>
#include <conio.h>

#define N 20//宏定义
#define W 50

int main()
{
	char a[N],c[W];           
	int n,num;                                
	int la,lb,f;   
	printf("请输入原字符串:");	
	gets(a);

	la=strlen(a);//字符串a的长度,调用函数strlen
	printf("请输入要删除的位置:");
	scanf("%d",&n);                        

	printf("请输入删除的位数:");
	scanf("%d",&num);                        

	for(f=0;f<la;f++)  //对原字符串遍历                 
	{
		if(f<=(n-1)) 
			c[f]=a[f]; 
		
		else if(f<la&&f>=(n+num))
			c[f-num]=a[f];                   
	
	}
	c[la-num]='\0';//记得最后的一个字符要赋‘\0’,读者可以试一试不赋值的情况
	printf("删除后的字符串为%s\n",c);

	getch();//使运行框停留
    return 0;
}

 另一思路:可以将原字符串以删除的指定位置n,n+num为界限拆成三部分,第一部分a[0]-a[n-1];第二部分a[n]-a[n+m-1];第三部分a[n+m]-a[la];通过for循环将第一部分和第三部分分别存入一维数组b[],c[]中,再调用数组连接函数stract(b,c),将b和c两个数组连接在一起。

这是stract函数的具体用法:

字符串连接函数
格式: strcat(字符数组1,字符数组2或字符串常量)
功能:将字符数组2中的字符串连接到字符数组1中的字符串的后面,组成一个新的字符串。
说明:字符串连接函数首先删除第一个 字符串末尾的结束标志'\0',接着将第二个字符串从第一个字符串的“0位置开始连接,形成一个新的字符串,且新的字符串存储在第一个字符串中,保留最后的\0',这样就要求第一个字符数组的长度至少是两个字符串的长度之和。

最后,希望我的分享能给你带来不一样的收获!愿我们一起努力奔跑,砥砺前行!

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小_扫地僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值