`
茴香豆
  • 浏览: 131059 次
  • 性别: Icon_minigender_2
  • 来自: 桂林
社区版块
存档分类
最新评论

c字符串读取以及数组刷新

阅读更多

查找和替换

Problem description   

一些编缉器都有查找和替换的功能,使用起来非常方便,可以对一些相同的情况进行统一的处理,我们现在要使用的查找、替换比那容易的多。举个例子,给定一个文本S为”ararast”,需要替换的字符串T为”ara”,要替换成的字符串RE为”ra”,从头开始查找文本S中是否含有字符串T,当查找成功时,你只需要把相应的字符串用RE代替,然后处理后面的字符串,不用担心新的文本中是否含有需要替换的字符串,像上例中,当查找到S中含有”ara”时,需要把”ara”替换成”ra”,然后再处理后面的字符串”rast”,但中间已经不含需要替换的字符串,因此最后得到的文本为”rarast”。



Input   输入数据的第一行为一个整数n,(0 < n ≤ 100),表示测试数据的个数
第2行到第n + 1行为n组测试数据,第一行包括上面描述的三个字符串S,T,RE,字符串中仅含有小写字母,其中0 < |S| ≤ 10000,0 < |T| ≤ 10, 0 < |re| ≤ 10;

Output   输出替换后最终得到的字符串

Sample Input
2
ararast ara ra
abcdabcd a aa
Sample Output
rarast
aabcdaabcd
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char s[10001],t[11],re[11],res[13001];
bool equal(int f,int m){//f是起始位置,m为t的长度 
     for(int i=0;i<m;i++){
           if(s[i+f]==0||s[f+i]!=t[i])          
              return false;
     }
     return true;
}

int main(){
    int z,tlen,slen;
    scanf("%d",&z);
    while(z--){
       scanf("%s%s%s",s,t,re);
       slen=strlen(s);
       tlen=strlen(t);
       int len=0;
       for(int i=0;i<slen;){
             if(equal(i,tlen)){
                    for(int j=0;re[j];j++)
                     res[len++]=re[j];
                   i+=tlen;
             }else{
                 res[len++]=s[i];
                 i++;
             }
       }
      res[len]=0;//刷新数组res 
      puts(res);
    }
    system("pause");
    return 0;
}
 
分享到:
评论

相关推荐

    《javaScrip开发技术大全》源代码

    • sample21.htm 通过字符串的起始位置和结束位置来获得子字符串 • sample22.htm slice()方法的使用 • sample23.htm substr()方法的使用 • sample24.htm 查找子字符串在字符串中...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    ASP200问.EXE

    24.如何实现字符串和数组的转换 25.如何实现字符大小写的转换 26.如何将每个单词的首个字母改成大写 27.如何将汉字转换为拼音 28.如何分位显示位数较长的数字 29.如何将数字转换为大写的中文字符 30.如何判断奇数和...

    Labview“写入测量文件(Excel)”设置表头解决方案(初次试探)

    Labview“写入测量文件(Excel)”设置表头解决方案(初次试探) 利用For循环连续读取数据,将数组转换为动态数据,设置单路动态数据的属性,...利用设置动态数据属性控件,输出字符串标题即可 多个信号按顺序合并,

    PHP+Ajax网站开发典型实例-源代码

    实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 获取文件...

    delphi 开发经验技巧宝典源码

    0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 ...

    delphi 开发经验技巧宝典源码06

    0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 ...

    JDK_API_1_6

    BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 ByteArrayInputStream ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。 ...

    C语言通用范例开发金典.part2.rar

    1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4...

    PHP+Ajax网站开发典型实例

    实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP文件实例 实例12 ...

    C语言通用范例开发金典.part1.rar

    1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组的高级应用 5 1.1.4...

    PHP程序开发范例宝典III

    实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证合法的数据表名称 178 实例120 验证...

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例071 读取数组购物车中的数据 105 实例072 图像验证码的生成 106 2.6 跳转语句 107 实例073 控制页面中表情图的输出 107 实例074 控制页面中数据的输出数量 108 实例075 动态改变页面中单元格的背景颜色 109 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例071 读取数组购物车中的数据 105 实例072 图像验证码的生成 106 2.6 跳转语句 107 实例073 控制页面中表情图的输出 107 实例074 控制页面中数据的输出数量 108 实例075 动态改变页面中单元格的背景颜色 109 实例...

    基于java实现的数据库管理系统.pdf

    通过对SQL字符串拆分解析,提取表名、列名和"ADD"、"DROP",将对应数据表中的数据读取到内存中,并根据列名对 DBFContent中的字段数组进⾏增加和删除,再将执⾏后的DBFContent回写⼊DBF⽂件中,实现添加删除列操作...

Global site tag (gtag.js) - Google Analytics