题目描述
删除字符串指定位置字符后的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;
}
提示:代码源于网上转载,总结。