0
点赞
收藏
分享

微信扫一扫

1204 字符删除操作(2)

color_小浣熊 2022-04-05 阅读 30
算法

题目描述

删除字符串指定位置字符后的m个字符(包括指定位置的字符)。

输入要求

第一行输入两个整型数n和m,分别代表字符串的第n个字符(非下标)和要删除m个字符。

第二行输入要处理的原始字符串。

输出要求

输出处理后的字符串。

输入样例

7 6
I love movie

输出样例

I love

提示:代码源于网上转载,总结。

代码如下(示例1):

#include <stdio.h>
#include <string.h>
main()
{
    char str[100]={0},*p;
    int n=0,m=0;
    scanf("%d%d",&n,&m);
    fflush(stdin);  //也不知道这是啥??渴望大佬讲解一下这题,谢谢!
    gets(str);
    p = str+n+m;
    strcpy(&str[n],p);
    printf("str[%s]\n",str);
}

代码如下(示例2):

#include<stdio.h>
#include<string.h>
int main()
{
	char a[1006];
	int len,i,sum=0,j=0,n,m;
	scanf("%d%d\n",&n,&m);
	gets(a);
	len=strlen(a);
	m=m-1;
	n=n-1;
	for(i=0;i<len;i++){
		if(i<n||i>(m+n)){
			printf("%c",a[i]);
		}
	}
	printf("\n");
}

代码如下(示例3):

#include <stdio.h>
int main() {
	char a[100];
	int i = 0;
	int m, n;
	scanf("%d%d\n", &m, &n);
	while((a[i++] = getc(stdin)) != '\n');
	a[i] = '\0';
	for(i = m; i != 100; i++) {
		a[i] = a[i+n];
		if(a[i] == '\0')
			break;
	}
	printf("%s\n", a);
	return 0;
}

提示:代码源于网上转载,总结。

举报

相关推荐

0 条评论