删除相同字符

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
void Squeeze(char s[],char c);
int main()
{
 char str[20],ch;
 printf_s("input a string:");
 gets_s(str);
 printf_s("input a character:");
 ch = getchar();
 Squeeze(str,ch);
 printf_s("Results:%s\n",str);
 system("pause");
 return 0;
}
void Squeeze(char s[],char c)
{
 int i,j;
 for(i=j=0;s[i] != ‘\0‘;i++)
 {
  if(s[i] != c)
  {
   s[j] = s[i];
   j++;
  }
 }
 s[j] = ‘\0‘;
}

时间: 2024-09-19 13:38:41

删除相同字符的相关文章

删除指定字符

题目描述 从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str. 输入要求 第一行是一个字符串: 第二行是一个字符. 输出要求 删除指定字符后的字符串. 假如输入 sdf$$$sdf$$ $ 应当输出 sdfsdf 1 import java.util.Scanner; 2 3 4 public class Main 5 { 6 public static void main(String args[]) 7 { 8 Scanner scan=new S

删除重复字符

删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串.需要保证字符出现的先后顺序,并且区分大小写. 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input     输入的字符串 输出参数(需考虑指针指向的内存区域是否有效): output    输出的字符串 返回值: 0         成功 -1        失败及异常 举例: 输入: abadcba

删除部分字符使其变成回文串问题——最长公共子序列(LCS)问题

先要搞明白:最长公共子串和最长公共子序列的区别. 最长公共子串(Longest Common Substirng):连续 最长公共子序列(Longest Common Subsequence,LCS):不必连续 实在是汗颜,网上做一道题半天没进展: 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串.如何删除才能使得回文串最长呢?输出需要删除的字符个数. 首先是自己大致上能明白应该用动态规划的思想否则算法复杂度必然过大.可是对于回文串很难找到其状态和状态转移方程,换句话说就是:某

在字符串中删除特定字符

63.在字符串中删除特定的字符.题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.”. 思路: 1. 位图法 将两个字符串分别转换成bitmap 然后对他们做异或xor运算,得到的结果即为排除了第二个字符串的所有字符, 然后对该结果依次与原字符串的所有字符进行与运算,结果不为零的即为所得    恩 位图真是个好东西啊...时间复杂度o(n+m) 花在了遍历

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。

思路:回文串的特点是,逆序输出和正序输出是一样的.所以这道题可以从这方面来考虑.如果将此字符串逆序输出,那么两个字符串的最长公共子序列将是最长的回文字符串,那么剩余的值将是要删除的字符个数. 求LCS的方法可以在csdn中找到. import java.util.*; public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNex

删除反复字符

删除反复字符 给定一个字符串,将字符串中全部和前面反复多余的字符删除.其余字符保留,输出处理后的字符串. 须要保证字符出现的先后顺序,而且区分大写和小写. 具体描写叙述: 接口说明 原型: int GetResult(const char *input, char *output) 输入參数: input     输入的字符串 输出參数(需考虑指针指向的内存区域是否有效): output    输出的字符串 返回值: 0         成功 -1        失败及异常 举例: 输入: ab

C++【String类】String删除单个字符,删除字符串的函数实现

#include<iostream> #include<stdlib.h> #include<assert.h> using namespace std; class String { public:     String(const char* str)         :_str(new char[strlen(str) + 1])     {         _size = strlen(str);         _capacity = _size + 1;  

[华为机试练习题]15.删除重复字符/删除重复字符串

题目 题目标题: 删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串.需要保证字符出现的先后顺序,并且区分大小写. 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input 输入的字符串 输出参数(需考虑指针指向的内存区域是否有效): output 输出的字符串 返回值: 0 成功 -1 失败及异常 举例: 输入: abadcbad,那么该单词中红色部分的

构造回文 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。

输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述: 对于每组数据,输出一个整数,代表最少需要删除的字符个数. 输入例子: abcda google 输出例子: 2 2 给出c++代码: #include <iostream>#include <string>#include <algorithm>using namespace std;int LCS(const string &str1,con

华为OJ测试题目——删除重复字符

题目标题: 删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串.需要保证字符出现的先后顺序,并且区分大小写. 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input     输入的字符串 输出参数(需考虑指针指向的内存区域是否有效): output    输出的字符串 返回值: 0         成功 -1        失败及异常 举例: 输入: a