林木森森森 2017-09-17 04:32 采纳率: 25%
浏览 1826
已采纳

筛选字符串中的相同字母

 #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条回答

  • 四夕丶 2017-09-17 12:14
    关注

    你这程序有很大问题,各方面都不严谨
    我先回答你所说的乱码问题:
    {
    你定义了一个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类型不错,建议你去看看.
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集