C++计数的问题,如何结束程序(新手)
请教各位前辈,题意是输入字符串(数字),每行遇到#结束(代表一个字符串),然后统计各个数字出现的个数,例如011000888993#
33922#
#
最后输入单行一个'#'结束程序;请问为什么if(s=="#") break;在我的代码中没有作用!无法结束!
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
while(1)
{string s;
getline(cin,s,'#');
if(s=="#") break;
int b[10];
int c[10];
for(int i=0;i<10;i++)
{c[i]=i;
b[i]=0;}
int n=s.length();
for(int i=0;i<n;i++)
{
b[s[i]-'0']++;
}
for(int i=1;i<10;i++)
{ for(int j=0;j<10-i;j++)
{ if( b[j]>b[j+1] ){
int temp=0,temp1=0;
temp=b[j]; b[j]=b[j+1]; b[j+1]=temp;
temp1=c[j]; c[j]=c[j+1]; c[j+1]=temp1;}
}
}
int p=0;
for(int i=9;i>=0;i--)
{
if(b[i]>0)
{if(p==0)
{cout<<c[i]<<"("<<b[i]<<")";p++;}
else
cout<<","<<c[i]<<"("<<b[i]<<")";}
}
cout<<endl;
}
system("pause");
return 0;
}