时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:6729

解决:1981

题目描述:

读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共有2中命令:1、翻转  从下标为i的字符开始到i+len-1之间的字符串倒序;2、替换  命中如果第一位为1,用命令的第四位开始到最后的字符串替换原读入的字符串下标 i 到 i+len-1的字符串。每次执行一条命令后新的字符串代替旧的字符串(即下一条命令在作用在得到的新字符串上)。

命令格式:第一位0代表翻转,1代表替换;第二位代表待操作的字符串的起始下标int i;第三位表示需要操作的字符串长度int len。

输入:

输入有多组数据。

每组输入一个字符串(不大于100)然后输入n,再输入n条指令(指令一定有效)。

输出:

根据指令对字符串操作后输出结果。

样例输入:
bac
2
003
112as
样例输出:
cab
cas
来源:
2011年北京邮电大学网院研究生机试真题

思路:

字符串的各种操作,翻转、替换等。注意细节。

代码:

#include <stdio.h>
#include <string.h> #define N 1000 void swap(char *a, char *b)
{
char tmp;
tmp = *a;
*a = *b;
*b = tmp;
} int main(void)
{
int n, i, j;
int begin, len;
char s[N], c[N], tmp[N]; while (scanf("%s", s) != EOF)
{
scanf("%d", &n);
for (i=0; i<n; i++)
{
scanf("%s", c);
begin = c[1]-'0';
len = c[2]-'0';
if (c[0] == '0')
{
char t;
int k;
for(k=begin,j=begin+len-1;k<j;k++,j--)
{
t=s[k];
s[k]=s[j];
s[j]=t;
}
}
else
{
strcpy(tmp, s+begin+len);
strcpy(s+begin, c+3);
strcat(s, tmp);
//for(j=begin;j<begin+len;j++)
// s[j]=c[j-begin+3];
}
printf("%s\n", s);
}
}
return 0;
}
/**************************************************************
Problem: 1177
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/

九度OJ 1177:查找 (字符串操作)的更多相关文章

  1. 九度OJ 1177 查找 (模拟)

    题目1177:查找 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5659 解决:1667 题目描写叙述: 读入一组字符串(待操作的),再读入一个int n记录记下来有几条命令,总共同拥有 ...

  2. 九度OJ 1206:字符串连接 (字符串操作)

    时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:4127 解决:1957 题目描述: 不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来. 输入: 每一行包括两个 ...

  3. 九度OJ 1168:字符串的查找删除 (查找)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4276 解决:1699 题目描述: 给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串. 输入: 输入只有1 ...

  4. 九度OJ 1066:字符串排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5632 解决:2299 题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的 ...

  5. 九度OJ 1054:字符串内排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7949 解决:4343 题目描述: 输入一个字符串,长度小于等于200,然后将输出按字符顺序升序排序后的字符串. 输入: 测试数据有多组,输 ...

  6. 九度OJ 1049:字符串去特定字符 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8499 解决:3860 题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和 ...

  7. 九度OJ 1135:字符串排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1559 解决:807 题目描述: 先输入你要输入的字符串的个数.然后换行输入该组字符串.每个字符串以回车结束,每个字符串少于一百个字符. 如 ...

  8. 九度OJ 1105:字符串的反码 (翻译)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4929 解决:1529 题目描述: 一个二进制数,将其每一位取反,称之为这个数的反码.下面我们定义一个字符的反码.如果这是一个小写字符,则它 ...

  9. 【九度OJ】题目1177:查找 解题报告

    [九度OJ]题目1177:查找 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1177 题目描述: 读入一组字符串(待操作的),再读入 ...

随机推荐

  1. NBNS扫描工具nbtscan-unixwiz

    NBNS扫描工具nbtscan-unixwiz NBNS是NetBIOS Name Service的缩写,表示NetBIOS名称解析服务.NETBIOS是一种网络协议,用于实现消息通信和资源共享.利用 ...

  2. springboot集成PageHelper,支持springboot2.0以上版本

    第一步:pom文件还是需要引入依赖 <!--mybatis的分页插件--> <dependency> <groupId>com.github.pagehelper& ...

  3. java值传递和引用传递的理解

    java的基础数据类型有:(byte.short.int.long.float.double.char.boolean)八种 基础数据都是值传递,其他都是引用传递.但是引用传递要特别注意:String ...

  4. 2016集训测试赛(二十)Problem A: Y队列

    Solution 考虑给定一个\(n\), 如何求\(1\)到\(n\)的正整数中有多少在队列中. 不难注意到我们只需要处理质数次方的情况即可, 因为合数次方会被其因数处理到. 同时我们考虑到可能存在 ...

  5. PHP利用lua实现Redis Sorted set的zPop操作

    function zPop($key) { $script = <<<EOD local v = redis.call('zrange', KEYS[1], 0, 0); if v[ ...

  6. schema设计

    Schema设计   Schema:表的模式:   设计数据的表,索引,以及表和表的关系 在数据建模的基础上将关系模型转为数据库表 满足业务模型需要基础上根据数据库和应用特点优化表结构   关系模型图 ...

  7. Linux ClientDataSet libmidas.so.2

    Linux ClientDataSet libmidas.so.2 DELPHI LINUX程序使用CLIENTDATASET控件,部署的时候需要libmidas.so,相当于WINDOWS程序的MI ...

  8. Define Custom Data Filter Using Pre-Query Trigger In Oracle Forms

    Oracle Forms is having its default records filter, which we can use through Enter Query mode to spec ...

  9. 对ps4 cmask fmask的理解

    这俩都是绑在corlor target上8x8的格子 cmask 做fastclear 这个比较好理解,8x8来表示这个格子是否clear fmask msaa用 provided to suppor ...

  10. 【TSQL】空格的比较

    空格比较时 空字符串跟任意长度的半角空格字符串比较,结果都为TRUE ) SET @TRUSTOR = '' IF @TRUSTOR IS NULL BEGIN SELECT 'IS NULL' EN ...