PAT 10-2 删除字符串中的子串
今天发一个不完全对(通过garbageMan园友的帮忙,现已全对)的代码,(/*后两用例未通过,一时看不出问题在哪,*/)切入正题
/*
Name:
Copyright:
Author:
Date: 03/04/15 15:19
Description:
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。 输入样例:
Tomcat is a male ccatat
cat
输出样例:
Tom is a male
*/ #include <stdio.h>
#include <string.h> #define MAX 80 void print(char * str, char * substr); int main()
{
// freopen("in.txt", "r", stdin); // for test
char str[MAX + ], substr[MAX + ]; gets(str);
gets(substr); print(str, substr);
// fclose(stdin); // for test
return ;
} void print(char * str, char * substr)
{
int l;
char * p; l = strlen(substr);
// p = strstr(str, substr); // wrong code
// while(p)
// {
// strcpy(p, p + l);
// p = strstr(str, substr);
// }
while(p = strstr(str, substr)) // corrected code
memmove(p, p + l, strlen(p + l) + ); printf("%s\n", str);
}
5日修改2次,我对比过一个通过的程序,是strcpy()那里不一样,这里为什么不对?求教!!!
6日修改1次,现已全对,将原来的strcpy()函数替换成了memmove()函数
PAT 10-2 删除字符串中的子串的更多相关文章
- PAT 字符串-02 删除字符串中的子串
/* 2 *PAT 字符串-02 删除字符串中的子串 3 *2015-08-09 4 作者:flx413 5 */ #include<stdio.h> #include<string ...
- 【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个
[JavaScript使用技巧]三个截取字符串中的子串,你用的哪个 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! slice( ...
- C# 删除字符串中的中文
/// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete中文(string str) { s ...
- JS中删除字符串中的空格
问题描述: 在进行字符串操作时,由于字符串中存在较多的空格,因此需要考虑取消字符串中的空格 问题解决: (1)删除字符串中的前导空格(字符串的前面的空格): 注意:这里使用 ...
- 《Python CookBook2》 第一章 文本 - 替换字符串中的子串
替换字符串中的子串 任务: 给定一个字符串,通过查询一个字符串替换字典,将字符串中被标记的子字符串替换掉. 解决方案: >>> import string >>> ...
- 删除字符串中多余的空白字符和空行(C语言实现)
要求:处理一个字符串,删除字符串中多余的空格.水平制表符和空行,并满足下列要求: (1)对原字符串只能进行一次扫描.(2)不允许申请新的空间.(3)处理后的字符串的首尾不能有空格.制表符和空行.(4) ...
- C++ 在字符串中插入子串+推断字符串是否由空格组成
// Example3.cpp : 定义控制台应用程序的入口点. #include "StdAfx.h" #include <string> #include < ...
- jst通用删除数组中重复的值和删除字符串中重复的字符
以下内容属于个人原创,转载请注明出处,非常感谢! 删除数组中重复的值或者删除字符串重复的字符,是我们前端开发人员碰到很多这样的场景.还有求职者在被面试时也会碰到这样的问题!比如:问删除字符串重复的字符 ...
- 算法基础:删除字符串中出现次数最少的字符(Golang实现)
描写叙述: 实现删除字符串中出现次数最少的字符.若多个字符出现次数一样,则都删除.输出删除这些单词后的字符串. 字符串中其他字符保持原来的顺序. 输入: 字符串仅仅包括小写英文字母, 不考虑非法输入, ...
随机推荐
- JSP HTML error code
<html> <head> <title>Setting HTTP Status Code</title> </head> <body ...
- 例题:计算运费。c#语言基础,比较简单。看代码输入格式和方法。同样方法可以做一个 出租车打车的程序
while (true) { Console.WriteLine("请输入行李重量"); double k = Convert.ToDouble(Console .ReadLine ...
- 【bzoj1043】下落的圆盘
[bzoj1043]下落的圆盘 题意 有n个圆盘从天而降,后面落下的可以盖住前面的.求最后形成的封闭区域的周长.看下面这副图, 所有的红色线条的总长度即为所求. \(1\leq n\leq 1000\ ...
- Mybatis学习(叁)
一.resultMap[结果映射 关系映射] 作用:当查询的数据与数据库中的数据不一致(表中字段和实体的属性不一样),通过resultMap进行一次映射. 可以使用简单的做法:(取别名) 二.多表查 ...
- decorators.xml的用法 (转)
spring,hibernate框架做的,对了,还有jQuery. 我用jquery做异步请求到后台,生成json数据返回前台生成下拉输入框,请求到后台以后,成功生成了json数据并根据struts的 ...
- 谈谈JPA-03-基本注解
@Entity @Entity 标注用于实体类声明语句之前,指出该Java 类为实体类,将映射到指定的数据库表.如声明一个实体类 Customer,它将映射到数据库中的 customer 表上. @T ...
- python 写入csv文件
import csv fieldnames = ['Column1', 'Column2', 'Column3', 'Column4'] rows = [{'Column1': '0', 'Col ...
- Qt之QSS(白色靓丽)
简述 Qt助手中有关于各种部件的QSS详细讲解,资源很丰富,请参考:Qt Style Sheets Examples. 白色靓丽 - 一款漂亮的QSS风格. 你可以直接使用,也可以随意转载,但请务必保 ...
- C实现多线程
#include <stdio.h> #include <pthread.h> #include <unistd.h> #include <iostream& ...
- 编码规范<1>
目录: 1 排版 2注释 3标识命名 4可读性 1排版 1-1程序使用UTF-8的编码方式 1-2使用空格作为缩进 , 尽量不要使用tab 1-3相对独立的程序块之间,变量说明之后必须加空格 . 例如 ...