题解 | #字符个数统计#
字符个数统计
https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50
#include <iostream>
#include <vector>
#include <string>
using namespace std;
/*编写一个函数,计算字符串中含有的不同字符的个数。
字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。
不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。*/
int main()
{
//string str;
char c;
vector<char> vec;
int count = 0;
//把迭代器放到这里会不会失效?
//cin >> str;
while (c=getchar())
{
//
if (vec.size() == 0)
{
vec.push_back(c);
}
if (c == '\n')
{
break; //结束
}
//如果输入的c与 数组vector中的没有相同的 则把c插入末尾
//vector<char>::iterator iter = vec.begin();
auto iter = vec.begin();
for (; iter!= vec.end(); iter++)
{
if (*iter == c)
{
break;
}
}
if (iter == vec.end()) //等于最后一位 说明没有中途跳出 没有遇到相等的字符
{
vec.push_back(c);
}
}
cout << vec.size() << endl;
system("pause");
return 0;
}
查看6道真题和解析