社区讨论
跪求c语言大佬
P5734【深基6.例6】文字处理软件参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mj8rxfqs
- 此快照首次捕获于
- 2025/12/17 00:05 3 个月前
- 此快照最后确认于
- 2025/12/19 23:30 3 个月前
C
#include<stdio.h>
void type1(char origin[],char str[]);
void type2(char origin[],int signA,int signB);
void type3(char origin[],int signA,char str[]);
void type4(char origin[],char str[]);
int main()
{
int q;
scanf("%d",&q);
char str0[10001];
scanf("%s",str0);
int type,a,b;
char str[10001];
for(int i=0;i<q;i++){
scanf("%d",&type);
switch(type){
case 1:{
scanf("%s",str);
type1(str0,str);
printf("%s\n",str0);
break;
}
case 2:{
scanf("%d %d",&a,&b);
type2(str0,a,b);
printf("%s\n",str0);
break;
}
case 3:{
scanf("%d %s",&a,str);
type3(str0,a,str);
printf("%s\n",str0);
break;
}
case 4:{
scanf("%s",str);
type4(str0,str);
break;
}
}
type=0;
a=0;
b=0;
int j=0;
while(str[j]!='\0'){
str[j]='\0';
j++;
}
}
}
void type1(char origin[],char str[])
{
int sign=0,i=0;
while(origin[sign]!='\0'){
sign++;
}
while(str[i]!='\0'){
origin[sign]=str[i];
i++;
sign++;
}
}
void type2(char origin[],int signA,int b)
{
char strSign[b+10];
int i=0;
for(int k=signA;k<=signA+b+1;k++){
if(k==signA+b+1){
strSign[i]='\0';
}
else{
strSign[i]=origin[k];
i++;
}
}
int s=0;
while(origin[s]!='\0'){
origin[s]='\0';
s++;
}
int si=0;
while(strSign[si]!='\0'){
origin[si]=strSign[si];
si++;
}
}
void type3(char origin[],int signA,char str[])
{
int i=0;
while(origin[i]!='\0'){
i++;
}
char afterSignA[i-signA+10];
int k=signA;
while(origin[k]!='\0'){
afterSignA[k-signA]=origin[k];
origin[k]='\0';
k++;
}
afterSignA[k-signA]='\0';
type1(origin,str);
type1(origin,afterSignA);
}
void type4(char origin[],char str[])
{
int i=0;
int loc=-1;
while(origin[i]!='\0'){
if(origin[i]==str[0]){
int j=0;
while(str[j]!='\0'){
if(origin[i+j]!=str[j]){
goto nextCircle;
}
else{
j++;
}
}
loc=i;
break;
}
nextCircle:
i++;
}
printf("%d",loc);
}
写了半天的代码过不了QAQ
大佬,捞捞QAQ~~~
回复
共 0 条回复,欢迎继续交流。
正在加载回复...