一.输入
1.连续输入多个字符串 空格区分 abc defg
string s;
while(cin>>s)
{
ss.push_back(s);
}
2.输入一个字符串 abcdefg
char ch;
while ((ch=getchar()))
{
if(ch=='\n')
break;
else
words[ch]++;
}
2.输入一个字符串 abcdefg
char ch;
while ((ch=getchar()))
{
if(ch=='\n')
break;
else
words[ch]++;
}
//getchar从stdin输入一个字符
// 首先键盘输入储存在键盘缓冲区,按回车键之后,字符连同'\n'送到stdin,然后getchar开始工作
二.统计个数
1.数组
如果全部是数字,使用数组较好
size_t counts[256] = { 0 };
for( const char* p=ps; *p; ++p )
{
++counts[*p];
if( counts[*p] > counts[c] )
c = *p;
}
2.hash
std::map<char, int> tmp;
const char* ps = 'abcefghijk';
for (const char* p = ps; *p; ++p)
tmp[*p]++;
三.去重
aabbccddeeffgg ---abcdefg
1.数组
while (N--)
{
cin >> n;
a[n] = 1;//标记为1
}
for (int i = 0; i < 1001; i++)
if (a[i])
cout << i << endl;
四.字符串裁剪
string a = "sadafaagasg";
cout << str.substr(0,8) <<endl;//0 -7 全部不裁剪
str=str.substr(8);//8开始往后
cout << str.append(8-str.size(),'0') << endl; //不够8位的补0
}