我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!
2条回答 默认 最新
- qzjhjxj 2023-09-06 11:11关注
供参考:
#include <stdio.h> #include <string.h> int main() { char s[200]; int n, i; scanf("%s", &s);// 输入 scanf("%d", &n); for (i = 0; i < n; i++) { int len = strlen(s); int j = 0, k = 0, m = 0; char s2[200]; // 剪贴板 int a = 0, b = 0; // 剪切位置 char c1[6], c2[6]; // 粘贴位置 scanf("%d %d %s %s", &a, &b, &c1, &c2); for (j = a - 1; j < len; j++) // 第a个元素的数组下标为a-1 { if (k < b - a + 1) // 剪贴字符串长度为 b-a+1 s2[k++] = s[j]; // 剪贴板存放 s[j] = s[j + b - a + 1]; } int flag = 0; int len1 = strlen(c1); int len2 = strlen(c2); for (j = 0; j < len; j++) { int start = j, num; int sum1 = 0, sum2 = 0; for (num = 0; num < len1; num++) { if (s[start] == c1[num]) { sum1++; start++; } if (sum1 == len1) { int q = 0; for (q = 0; q < len2; q++) { if (s[start] == c2[q]) { sum2++; start++; } if (sum2 == len2) { flag = 1; break; } } } if (flag == 1) break; } if (flag == 1) break; } if (flag == 1) { for (m = len - 1; m >= j + len1 + k; m--)// 后移 { s[m] = s[m - k]; } int number = 0; for (number = 0; number < k; number++)// 插入 { s[m - k + 1] = s2[number]; m++; } } else{ int number = 0; for (m = len - k; m < len; m++)// 在最后插入 { s[m] = s2[number]; number++; } } } puts(s); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验
- ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
- ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
- ¥15 栅极驱动低侧烧毁MOSFET
- ¥30 写segy数据时出错3
- ¥100 linux下qt运行QCefView demo报错
- ¥50 F1C100S下的红外解码IR_RX驱动问题