筛选字符串中的相同字母
 #include <iostream>
#include <cstring>
using namespace std;
class filter
{
public:
    char  a[100];
    char b[27];
    filter()
    {
        cout<<"请输入一串英文字符:"<<endl;
        cin>>a;
        int i,j;
        for(i=0; i<=strlen(a); i++)         //对a数组中的相同字母进行筛选
        {
            for(j=0; j<i; j++)
            {
                if(a[j]==a[i])              //相同的字母筛选掉
                {
                    break;
                }
            }
             if(j==i)                       //否则存入b数组
                {
                    b[strlen(b)]=a[i];
                }


            /*for(j=0; j<i; j++)
            {
                if(a[j]==a[i])
                {
                    break;
                }
            }
                if(j==i)
                {
                    cout<<a[i];
                }*/
        }
        for(int k=0;k<27;k++)               //输出b数组
            cout<<b[k];
    }
};
int main()
{
    filter f1;
}

如上面的代码,为什么输出会乱码?

2个回答

你这程序有很大问题,各方面都不严谨
我先回答你所说的乱码问题:
{
你定义了一个char b[27] 然后你写了这行代码: for(int k=0;k<27;k++) cout<<b[k];
你有没有考虑如果相同的字母没有27个,也就是说b字符数组没有被填满,比如只有前十个被被放入了字母,那么b[10] b[11] b[12]........这里面是什么?
乱码就是因为这个。
}
然后我们来谈谈其他的
{
1.这个构造函数很强
2.在注释为(否则存入b数组)这里你不觉得应该是if(j!=i)吗?
3.还是注释为(否则存入b数组)这里,if下面b[strlen(b)]=a[i],真的挺巧妙的,不过我觉得直接定义一个int x=0;然后b[x++]=a[i]也挺不错。
4.你有没有考虑如果同一个字母不止出现两次,如果出现三次四次呢?那按照这个程序b数组里也会重复出现一个字母吗?
5.这里用string类型不错,建议你去看看.
}

huahuahua__
林木森森森 出现三次四次也是可以筛选的,a[j]==a[i]就是当检测到前面有相同的字符的时候就break掉
接近 2 年之前 回复
huahuahua__
林木森森森 我当时写if(j==i)的意思好像是,当遍历到最后发现没有重复的字符的时候,将这个字符存入b数组
接近 2 年之前 回复

我想你说的乱码可能是指的中文的问题,两个选择,1是把其中的中文改成英文,二是将文件的保存格式改成utf-8。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js去除字符串中相同的字母
我现在是学习阶段;还有很多不懂的;求各位大神继续帮忙解答!!rn就是怎么把相同的字母去掉,比如有两个相同的字母,就同时去除这两个字母;rn如:var a="aaAAcRfR"rn要求处理后的效果为:”cf”,就是把出现相同的都去除掉;rn求速解!!!rn预先在此谢过!!
字符串统计相同字母的次数
package day18.TreeMap; import java.util.Scanner; import java.util.Set; import java.util.TreeMap; /** * java基础:java集合框架 * Author:知而无涯 * Description:TreeMap集合获取字符串中每一个字母出现的次数 * Date: 2018-03-15 12...
统计字符串中相同字母出现的次数并以字符串输出
function get_num($str){ $str_arr = str_split($str);// 字符串转数组 $x = '';// 字符串转为数组,数组中n-1位置的值 $string = '';// 结果字符串 foreach ($str_arr as $k =&amp;gt; $v) { if($x == $v){ $sub_str = substr($st...
超急!!!!关于筛选相同字符串的问题
如题,小弟我用for循环读出一些字符串,其中有重复的,不想让它输出。有提议让我使用hashsetrnrn但我按http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashSet.html上所说的例子去做,但提示方法没有定义。可是我已经使用了java.until.*了。请问应该怎么使用或有其它什么方法呢?rnrn原做法:rnrn读出数据后定义rnSet s = Collections.synchronizedSet(new HashSet(字符串));rnrn提示:rncannot resolve symbolrnsymbol : constructor HashSet (java.lang.String)rnlocation: class java.util.HashSetrn
移除字符中相同的字母
怎么移除字符串中相同的字母,比如"abgfdagr" 移除一个相同的a和g,输出abgfdr!!
TDBGrid 控件字母筛选
使用TDBGrid调用数据中的数据,例如:rnrn张三 男 36 编号:0001rn李四 男 34 编号:0021rn……………………rnrn信息比较多,我想当我选择Z的是很可以过滤掉其他的信息,并选择张三的信息,同时可以按动回车的时候调用相应的函数。。。。。。rnrnrn不知道如何实现呢?
去除字符串中的字母
rn遇到一个问题,一列用户名数据中有这样的情况,如“张三 ZJ”,“李四 N Y ”,现在不需要后面的字母信息了,能有效率高点的算法吗?各位给推荐一个?rn谢谢rnrn我自己写了一个,效率太低,大家批评一下:rn[code=SQL]rn--更新用户名后面的字母信息,如“ZJ”等信息rn Declare @vctel varchar(20)rn Declare @vcName varchar(20)rn Declare @vcRe varchar(20)rn Declare @Leng intrn Declare @Temp varchar(2) rn Declare Check_Name cursor for select vctel, vcName from userinfo where vcName<>'' rn Open Check_Namern Fetch Next from Check_Name into @vctel,@vcNamern While @@Fetch_Status=0rn beginrn set @Leng=len(@vcName)rn while @Leng>0rn beginrn set @Temp=substring(@vcName,@Leng,1) --从后往前找rn if (ASCII(@Temp) between 65 and 90) or (ASCII(@Temp) between 97 and 122) --大小写字母 rn beginrn set @Temp=''rn endrn set @vcRe=@Temp+@vcRern set @Leng=@Leng-1rn endrn Update userinfo set vcName=@vcRe where current of Check_Namern set @vcRe=''rn Fetch Next from Check_Name into @vctel,@vcNamern end rn Close Check_Namern DealLocate Check_Namernrn[/code]
java中筛选list中相同的值
在开发中遇到list需要过滤重复的数据,以前都是使用的的是双重循环的方法,感觉这种方法如果数据量太大就会大大影响效率,今天从网上找了一个方法,是采用jdk1.8的特性,理论的东西了解不是太多,直接上demo吧 people实体类和student实体类 class People { private String id; private String somethingElse; ...
关于相同内容的筛选
我想在查询结果中去除某字段内容相同的记录,只留下该字段内容不同的记录,但是该字段有好几种内容,分别有很多条记录相对应,举例如下rnrnID A B Crnrn1 1 a frn2 1 s grn3 2 d hrn4 2 s jrn5 3 o prn6 3 w qrnrn我想要的结果是字段A=1的保留任意一条,=2的保留任意一条,=3的保留任意一条rn但是字段A的内容是事先不可知的,换句话说我就是想统计字段A的所有内容,但是不想有重复rnrn请教诸位高手该如何写SQL?
字符串中是否存在相同的字母、回文数的判断
刚刚学习Python做的小练习 字符串中是否存在相同的字母 tests = 'abcdefghijklmnopqrstuvwxyza' def isDuplicate(s): num = 1 flag = False for s1 in s: num += 1 for s2 in s[num:len(s)+1]:
筛选相同的值
数据库中录了许多姓名不同,但单位一样的记录,选择单位时显示一大串相同的,现在我想让同单位的只显示一个,如何筛选?
还是筛选相同记录
SELECT TOP 10 id,which,sh,tt,dtime FROM table WHERE (type='resource') AND (tj=1) AND (sh=1) ORDER BY dtime DESCrnrn我现在选出排在表 table 中前10条记录. 但是发现 tt (标题)这10条记录中有重复的记录.rnrn怎么加筛选语句筛掉 tt 相同的记录(tt要保留一条)rnrnid (自增型int,不会重复,主键).
筛选相同的数据
从SQL里引入了一个表,有好多数据是重复的,如何筛选出所有字段数据是一样的的行,并只保留一个呢?
用C实现去掉字符串中的相同字母
例如:gggggoogoooood, 去掉之后变成:god. 求大神指导[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/15.gif][/img]rnrnvoid printString(char str[], int count)rnrn char temp[100] = '\0';rn temp[0] = str[0];rn int j = 1;rn for (int i = 1; i < count; i++) rn if (str[i] == ' ' || str[i] == temp[j - 1]) rn continue;rn else rn temp[j] = str[i];rn j++;rn rn rn printf("去掉相同字符之后");rn for (int i = 0; i < count; i++) rn printf("%c",temp[i]);rn rnrn
中兴笔试题:删除字符串中相同字母的三种方法
第一种:用两个vector [cpp] view plain copy #include   #include   #include   using namespace std;   int main()   {       vectorchar> chvec1,chvec2;       string str;       wh
请问:如何判断两个字符串中字母大小写是否相同?
如何判断两个字符串中字母大小写是否相同?用jScript实现。
用js如何去掉一个字符串中相同的字母
如:var a="aaAAcRfR"rn要求处理后的效果为:”aAcRf”,就是把后面的字母只要前面出现过的就去掉
String 字符串中查找相同字母 并输出出来
这两天面试正好遇到一个面试题挺有意思的,那位大神有比较好的方式来完成操作?rn/*rn *要求查找由相同字母组成的数据并去除重复元素,输出出来。rn * 例如:rn * "top,opt,pto"rn * "hi,ih"rn * "data"rn * "awerf"rn * "igndytb"rn * */rn public static void main(String[] args) rn String testData = "top,hi,opt,top,data,ih,pto,awerf,igndytb";rnrnrnrnrn
首尾字母是否相同
本周做了一个yixin的模拟笔试题。由于不能把题目泄出,就简单的描述一下题目。 题目简述输入几个单词,判断这些单词是否在下列所述的列表中。该列表从第二个单词开始的首字母与前一个单词的尾字母相同。第一个单词的首字母没有限制。若符合条件,返回1,否则,返回-1。 输入案例4 [hello, how, are, you] 返回-1。 4 [hello, ohai, iostream, measure] 返
去除相同的字母
// interviewproblem.cpp : Defines the entry point for the console application. // //整形数组 {1,1,2,2,3,3,4,4,5,5} ,去掉重复数结果是{1,2,3,4,5}并返回个数5。 #include "stdafx.h" #include <iostream> #include <stdlib.h> us
N-Arrangement,字母相同排除
这是题目链接,由于题目为PDF文件,所以我没办法复制粘贴,题目大致意思就是有些单词字母组成形同,只需要更换顺序就可以形成一个新的单词,但是你形成的单词必须是有实际意义的,在一定的范围内,形成的单词也不同,这里我们把自己的输入当做范围,输出不能满足上述条件的单词,即无论怎么更换字母都无法形成新的单词,当然,单个字母也满足,因为他无法再进行重组了 附上题目链接:https://cn.vjudge.n
在一个字符串中输入若干字母,统计该数组中出现的相同字母的个数。
#include #include #include using namespace std; int main() { char a[512]; gets(a); int i,n,sum=0; bool flag; for(i=0;i<strlen(a);i++) { flag=true; sum=0; for(int j=i-1;j>=0;j-
java正则表达式筛选字符串中的ip
这只是普通的筛选字符串中的ip,不做ip合法性验证。严格来说,需要判断[1-2][0-9]等ip中的数值。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String rege
ListView带字母的筛选排序
ListView展示数据是直接通过字母快速查找
字母筛选单词vba脚本
填写任意字母即可匹配出单词库中由这些字母组成的单词。 库中的单词可以按照相同的格式任意添加。 打开excel后会有提示框出现,选择使用宏即可。
输出字符串中的元音字母
Description 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。 Input 一行字符串 Output 顺序输出其中的元音字母(aeiuo) Sample Input abcde Sample Output ae #include #include #include char str1[100]; char str2[100]; ch
去除字符串中的元音字母
去除字符串中的元音字母下面给出c语言和Java两种版本。相对来说,C语言版本性能应该是更优的。1、C版本中直接使用字符数组,本质就是使用指针操作内存中的数据,因此效率方面是比较高的。//C版本 #include "stdio.h" #include "string.h" char * deleteChar(char * string){ char * s = string; int
删除字符串中的所有字母
字符串是rnstr="aa=11,bb=33,cc=24,dd=223,ff=2323,"rnrn删除其中的所有字母得到 rnrnstr1="=11,=33,=24,=223,=2323,"
字符串中分离数字和字母
字符串中分离数字和字母 rnString str = “中国abc123”;rn怎么分离出来?
统计字符串中字母个数
javascript统计字符串中字母的个数
计算字符串中的字母的个数
#include int main() {      char str[100];     int i,num=0;     gets(str);     for(i=0;str[i]!='\0';i++)     {          if(str[i]>='A'&&str[i]='a'&&str[i]             num++;             }  
去掉字符串中的字母部分
translate(BL_NO,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ','#')
8、字符串中字母计数
示例代码: package program.string.exercise08; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * 8.取出一个字符串中字母出现的次数。如:字符串:&amp;amp;amp;amp;quot;abcdekka27qoq&amp;amp;amp;amp;quot; , * 输出格式为:a(2)b(1)k(2)... * */ pu...
正则获取字符串中的字母
如:string str = "VirginIslands,U.S.";rnrn希望获取出来的是VirginIslandsUSrnrn最好是正则,如果有更好的也可以。谢谢
输出字符串中相邻字母相等的字符串
输出相邻字母相等的字符串,例如输入“aacdccfttt”,输出aa,cc,ttt 1. function foo(string){ var arr=[]; for(var i=1;i&amp;lt;string.length;i++){ if(string.charAt(i)==string.charAt(i-1)){ var char=...
删除字符串中的元音字母
用两个指针的方法 从一个字符串中删去另一个字符串中的指定字符 这里我们用元音字母代替
只输出字符串中的字母
#include&amp;lt;stdio.h&amp;gt; void main() { char c[20]=”abcd123”; int i=0,j=0; while(c[i]!=’\0’) { if((c[i]&amp;gt;=’a’&amp;amp;&amp;amp;c[i]&amp;lt;=’z’)||(c[i]&amp;gt;=’A’&amp;amp;&amp;amp;c[i]&amp;lt;=’Z...
区分字符串中得字母和汉字
for (int i = 0; i             unichar c = [strs characterAtIndex:i];             if (c >=0x4E00 && c             {                 NSLog(@"汉字");                }else{                 NSLog(@"英
12、获取字符串中字母
示例代码: package program.string.exercise12; import java.util.Arrays; /** * 12.编写程序将由数字及字符组成的字符串中的数字截取出来并按顺序输出, 例如:&amp;amp;amp;amp;quot;ABC137GMNQQ2049PN5FFF&amp;amp;amp;amp;quot;输出结果应该为01234579. * */ public class NumberSplitChar { ...
怎样去掉字符串中的字母
怎样去掉字符串中的字母
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件

相似问题

4
java字符串中找出最大的“连续的” 子字符串”的长度。
3
在Java中,输入一个字符串,再输入一个字符,判断该字符在该字符串中出现的次数
3
JAVA如何把字符串转换成int类型的
2
c语言 输入一个字符串 输出该字符串中每个字母的下一个字母
7
js未知字符串长度内容的情况下截取字符串
2
Linux shell命令之从文件中提取要求的字符串
8
Java源字符串中删除指定字符串,使得最终结果不包含子字符串,记录删除次数?
8
c++怎么将字符串中的英文单词变成首写字母大写缩写
1
一道字符串的题目 求助啊 一直没法AC
3
MIPS汇编语言,题目:输入一个字符串和一个字母,输出该字母在字符串中出现的次数,该如何写呢呢?
4
将一个字符串拆分出的所有字符整合成一个字符串类型的数组
5
java同时查找多个字符在同一字符串中的位置
4
字符串的筛选,求大神教教
21
在sql语句中,字符串比较,比的是什么?
4
如何等长梯度切割字符串生成字符串集?
4
关于html字符串拼接的问题
10
C++字符串转换ASCII的问题
3
怎么样对一个遍历一个不规则字符串数组,找到每列中最长字符串的大小
4
怎么javascrpt语言实现将一个字符串转换为多个字符串构成的数组并且判断每个字符串的数组?
3
javascpt语言怎么对字符串的类型用类型判断?怎么判断字符串属于的类型是什么?