//如何实现字符串所有组合
//例如 输入abc 输出a b c ab ac bc abc
void subset(int n,vector<char>c)
{
for(int i= 1 ; i < (1<<n) ; ++i) //i从1到8
{
for(int j = 0 ; j < n ; ++j)
{
if( i&(1<<j) ) // 判断i的二进制中哪些位为1,即代表取某一位
cout<<c[j];
}
cout<<endl;
}
}
int main()
{
char c;
vector<char>ch;
while ((c=getchar())!='
') //注意这里的输入结束判断
{
ch.push_back(c);
}
int len=ch.size();
subset(len,ch);
}
//字符串输入也可以用下面的代码
string str;
cin>>str;
int len=str.length();
vector<char>ch(len);
for (int i=0;i<len;i++)
{
ch[i]=str[i];
}
//求一句话里单词的个数 前面空格后面非空格 计数器加1
//she is a good girl ====5个
int CountWords(char c[])
{
int word=0;
int sum=0;
char *p=c;
for (;*p!='