社区讨论
c语言蒟蒻求助
P5734【深基6.例6】文字处理软件参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhk7h883
- 此快照首次捕获于
- 2025/11/04 14:46 4 个月前
- 此快照最后确认于
- 2025/11/04 14:46 4 个月前
C
#include<stdio.h>
#include<string.h>
//插入字符的函数
void insertString(char *str, int pos, char *s) {
int len = strlen(str);
int slen = strlen(s);
// 从后往前移动
for(int i = len; i >= pos; i--) {
str[i+slen] = str[i];
}
// 插入新字符串
for(int i = 0; i < slen; i++) {
str[pos+i] = s[i];
}
}
int main(void)
{
int n;
scanf("%d",&n);
char str[1000],temp[1000];
char result[110][1000];
int tempa,tempb;
scanf("%s",str);
int method;
char *loc;
int final;
for(int i = 0 ; i < n ; i ++)
{
scanf("%d",&method);
if(method == 1)
{
scanf("%s",temp);
strcat(str,temp);
strncpy(result[i],str,strlen(str)+1);
printf("%s\n",str);
}
else if(method == 2)
{
scanf("%d %d",&tempa,&tempb);
strncpy(str,str+tempa,tempb);
str[tempb] = '\0';
strncpy(result[i],str,strlen(str)+1);
}
else if(method == 3)
{
scanf("%d",&tempa);
scanf("%s",temp);
insertString(str, tempa, temp);
strncpy(result[i],str,strlen(str)+1);
}
else if(method == 4)
{
scanf("%s",temp);
loc = strstr(str,temp);
if(loc == NULL)
{
final = -1;
}
else{
final = loc - str;
}
sprintf(result[i], "%d", final);
}
}
for(int i = 0 ; i < n ; i ++)
{
printf("%s\n",result[i]);
}
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...