用C语言键盘输入一个不超过30个字符的串,删除从第m个字符开始的连续k个字符,整数m,k从键盘输入
时间: 2024-02-21 07:59:35 浏览: 64
删去串s中从第i个字符开始连续的j个字符.c )
4星 · 用户满意度95%
以下是C语言的实现方法:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[31];
int m, k, len;
printf("请输入一个不超过30个字符的串:");
scanf("%s", str);
len = strlen(str);
printf("请输入要删除的起始位置m:");
scanf("%d", &m);
printf("请输入要删除的字符个数k:");
scanf("%d", &k);
if (m + k > len)
{
printf("输入的参数有误!\n");
}
else
{
for (int i = m - 1; i < len - k; i++)
{
str[i] = str[i + k];
}
str[len - k] = '\0';
printf("删除后的字符串为:%s\n", str);
}
return 0;
}
```
这段代码首先从键盘输入一个不超过30个字符的字符串,然后从键盘输入要删除的起始位置m和要删除的字符个数k。接着,根据输入的参数判断是否有误,如果没有误,则将从第m个字符开始的连续k个字符删除,并输出删除后的字符串。需要注意的是,字符串的索引也是从0开始的,因此要删除第m个字符需要使用`m-1`作为索引。使用循环将第m个字符之后的字符向前移动k个位置即可。最后,将新字符串的结尾置为`\0`,以确保输出正确的字符串。
阅读全文