// DeleteRepeat.cpp : 定义控制台应用程序的入口点。
//对位操作。26个英文字母进行除重,大写,小写都行。
#include "stdafx.h"
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
void deletechar(char *, char *);
int main()
{
//string s1, s2;
char ch[50] = { "QQWASDASDASKS;FDKFKEWOPSFKDSDASD" };
char ch1[50] = {0};
//cout << "请输入你的字符串" << endl;
deletechar(ch, ch1);
cout << ch1 << endl;
printf("%s , %5.3s\n", "computer", "computer");
system("pause");
getchar();
return 0;
}
void deletechar(char *ch, char *ch1)
{
int size = strlen(ch);
cout << "字符传长度:" << size << endl;
int a = 0,num = 0;
char temp[26] = { 0 };
for (int i = 0; i < size; i++)
{
if(! (a>>(ch[i] - 'A') & 1))
//if (!temp[ch[i] - 'A'])
{
//temp[ch[i] - 'A'] = 1;
a |= (1 << (ch[i] - 'A'));
ch1[num] = ch[i];
num++;
}
if (num >= 26)
{
break;
}
}
}
利用位操作对英文字母除重
最新推荐文章于 2024-01-08 15:28:40 发布