解题思路: 喜欢暴力 嘿嘿嘿 !
注意事项:
参考代码:
#include"bits/stdc++.h" using namespace std; // 定义全局变量,用于存储输入的字符串和操作命令 string s, kk, kkk[11100] = {""}, jjj[11100]; int main() { int x; // 定义一个整数变量x,用于存储插入位置 while (cin >> s) { // 循环读取输入的命令 if (s == "insert") { // 如果命令是插入 cin >> x; // 读取插入的位置 cin >> kk; // 读取要插入的字符串 if (kkk[x] == "") { // 如果插入位置为空 kkk[x] = kk; // 直接插入字符串 } else { // 如果插入位置不为空 for (int i = x; i <= 1110; i++) { // 将插入位置及之后的元素向后移动一位 jjj[i] = kkk[i]; // 临时保存当前元素 } kkk[x] = kk; // 在指定位置插入新字符串 for (int i = x + 1; i < 1110; i++) { // 更新后续位置的元素 kkk[i] = jjj[i - 1]; // 恢复之前保存的元素 } } } if (s == "show") { // 如果命令是显示 if (kkk[1] == "") { // 如果第一个位置为空 cout << endl; // 输出空行 } else { // 如果第一个位置不为空 for (int i = 1; i <= 1110; i++) { // 遍历所有位置 if (kkk[i] == "") { // 如果遇到空位置 break; // 停止遍历 } cout << kkk[i] << ' '; // 输出当前位置的字符串 } cout << endl; // 输出换行符 } } if (s == "search") { // 如果命令是搜索 cin >> kk; // 读取要搜索的字符串 for (int i = 1; i <= 1110; i++) { // 遍历所有位置 if (kkk[i] == kk) { // 如果找到匹配的字符串 cout << i << endl; // 输出其位置 break; // 停止搜索 } } } if (s == "delete") { // 如果命令是删除 cin >> kk; // 读取要删除的字符串 for (int i = 1; i <= 1110; i++) { // 遍历所有位置 if (kkk[i] == kk) { // 如果找到匹配的字符串 kkk[i] = "!!!"; // 将其标记为删除状态 break; // 停止删除操作 } } for (int i = 1; i <= 1110; i++) { // 再次遍历所有位置 if (kkk[i] == "!!!") { // 如果找到被标记为删除的状态 for (int j = i; j <= 1110; j++) { // 从该位置开始向前移动元素 kkk[j] = kkk[j + 1]; // 覆盖当前元素 } break; // 停止移动操作 } } } } return 0; // 返回程序执行结果 }
0.0分
0 人评分
简单的a+b (C语言代码)浏览:765 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:824 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |
简单的a+b (C语言代码)浏览:560 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:610 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1496 |
川哥的吩咐 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1542 |
小O的乘积 (C语言代码)浏览:1063 |