厦大C语言上机 1425 字符串的增添

news/2024/11/30 3:49:46/
1425.字符串的增添(分值:2)


时间限制: 1000 MS          内存限制: 65536 K
        
提交数: 18 (9 users)          通过数: 0 (0 users)


问题描述
这道题的要求是:给定一个字符串s,每次进行下列两种操作之一:
(1) add x q     在第x个位置添加字母q
(2) delete x    删除第x个位置的字母
假设长度为n的字符串s = c1c2c3c4...cn (其中ci(1 <= i <= n)表示字符串第i个位置的字母),则:
(1) 对于第一种操作,表示在字母cx-1和cx之间插入字母q,当x为1的时候表示在字符串头部插入字母q,x为n + 1的时候表示在字符串的末尾插入字母q
(2) 对于第二种操作,表示删除第x个位置的字母,就是删除字母cx


输入格式
输入的第一行为一个长度不超过1000的非空字符串s,接下的一行有一个数字n(1 <= n <= 1000)代表操作的次数。接下来的n行每行有题述的2种之一的操作。输入保证所有的操作都是合法的,不存在在不正确的位置插入字符或在无效的位置删除字符,且保证每次操作后得到的字符串都为非空字符串。输入的所有字符都为小写的字母。


输出格式
输出一行字符串,表示经过n次操作后得到的字符串。


样例输入
hello
5
delete 2
delete 2
delete 2
add 2 i
delete 3


样例输出
hi


来源

doraemon @ xmu

#include <stdio.h>
#include <string.h>void add(char *s, int x, char q)
{int len_s = (int)strlen(s);int i;s[len_s + 1] = '\0';for (i = len_s; i >= 0; --i){if (i == x){s[i] = q;return;}s[i] = s[i-1];}
}void delete(char *s, int x)
{int len_s = (int)strlen(s);int i;for (i = x; i < len_s - 1; ++i)s[i] = s[i+1];s[len_s - 1] = '\0';
}int main()
{char s[2005] = { 0 };int n;char operator[10] = { 0 };int x;char q;scanf("%s", s);scanf("%d", &n);while (n--){scanf("%s", operator);if (!strcmp(operator, "add")){scanf("%d %c", &x, &q);add(s, x-1, q);}else{scanf("%d", &x);delete(s, x-1);}}printf("%s\n", s);return 0;
}



http://www.ppmy.cn/news/234434.html

相关文章

HDU-#1425 sort(Hash散列)

题目大意&#xff1a;给一个大数据范围的序列&#xff0c;按降序排列&#xff0c;输出前m个数据序列。 解题思路&#xff1a;由于数据量较大&#xff0c;直接sort()&#xff0c;会超时。因此&#xff0c;可以利用Hash函数的性质进行处理&#xff0c;这里可以直接利用输入值加上…

数学建模与动态规划:从原理到实践

订阅专栏,2023年9月数学建模分享思路代码论文 目录 1. 数学建模概述 2. 动态规划原理 2.1 动态规划案例&#xff1a;斐波那契数列 3. 数学建模案例&#xff1a;资源分配问题 3.1 问题建模 3.2 动态规划求解 3.3 示例 4. 总结 在本文中&#xff0c;我们将介绍数学建模的…

pdo php解释器与数据库之间的语言翻译器 使用以及简单的尝试封装成php 单例对象

<?php/*** 今日 2021 4 24 PDO* 接下来* 讲PDO* 为什么要讲PDO* 接下来讲一个场景** 客户端访问服务器** 客户端暂时不用我们写* 我们只做* 服务器php这部分** 做好以后服务器要不要连数据库啊* 要连数据库* 下面问题来了** 我将来开发了* 一个框架* 我开发的框架是不是php…

iOS_NSTextAttachment图文混排,图片和文字对齐

NSTextAttachment 需求&#xff1a;图文混排 初始实现的代码如下&#xff1a; let label UILabel() label.frame CGRect(x: 50.0, y: 150.0, width: 200.0, height: 100) label.backgroundColor .purple label.numberOfLines 0 self.view.addSubview(label)let attribut…

街心那篷树

身外嘈杂不宁&#xff0c;又想起那篷树。 今早&#xff0c;又就绕路去看它。骑了自行车远远的看它还在。只是颜色灰黄了许多&#xff0c;尤如枯死多时的那种老树。但我又有些放心&#xff0c;它只还在&#xff0c;就肯定还活着。若能枯干而死&#xff0c;应当是它求之难得的好运…

写给自己的JAVA工程师之路-异常

认识异常 异常指的是导致程序执行中断的一种指令流&#xff0c;一旦异常产生而且没有正常处理的话&#xff0c;那么程序将会中断执行。 所有的异常类都是 Throwable类的子类&#xff0c;而 Throwable类又是Object的子类&#xff0c;从JDK1.0开始提供。 但是在开发中是几乎不会使…

写给自己的JAVA工程师之路-接口

1.1 接口的基本概念 接口是一种特殊的类&#xff0c;但是在接口里面的组成与类不同&#xff0c;比类的组成部分简单&#xff0c;主要由抽象方法和全局常量所组成。而接口使用interface关键字定义。 interface A{public static final String MSG"HELLO WORLD";public …

写给自己的JAVA工程师之路-正则表达式

1 认识正则表达式 判断字符串是否由数字组成 最原始实现方式 public class demo {public static void main(String[] args) {String a "123123" ;System.out.println(isNumber(a));}public static boolean isNumber(String str) {char [] ch str.toCharArray();fo…