通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函

    xiaoxiao2025-11-13  4

    #include<iostream> using namespace std; void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr) { char alp[52] = { 0 }; for (int i = 0; i < 26; i++) { alp[i] = 'a'+i; } /*for (int i = 26; i < 52; i++) { alp[i] = 'A' + i; }*/ for (int i = 0; i < lInputLen; i++) { int flag = 0; for (int i = 0; i < 26; i++) { if (*pInputStr == alp[i]) { alp[i] = '\0'; flag = 1; break; } } if (flag) { *pOutputStr = *pInputStr; pOutputStr++; } pInputStr++; } } void main() { char a[] = "abcadbefghjkabcadbefghijk"; long len = strlen(a); char *p = new char(len + 1); memset(p, 0, len + 1); stringFilter(a, len, p); cout <<"过滤后字符串:"<< p<<endl; //system("pause"); cin.get(); }
    转载请注明原文地址: https://ju.6miu.com/read-1304148.html
    最新回复(0)