題目要求:編寫一個函數,計算字符串中含有的不同字符的個數。字符在ACSII碼范圍內(0~127)。不在范圍內的不作統計。
#include
#include
using namespace std;
int main()
{
string str;
cin >> str;
int j=0,p;
for (int i =0; i <= str.size() - 1; i++)
{
if(str[i]>=0&&str[i]<=127)
{
for(int k =0; k<i; k++)
{
p=0;
if(str[k]==str[i])
p=1;
}
if(p!=1)
j++;
}
}
cout<<j;
return 0;
}
我的代碼自己測試的時候麼問題 但是提交的時候系統給的測試字符串答案就不對 請問是怎麼會事呢??
測試用例:
uqic^g`(s&jnl(m#vt!onwdj(ru+os&wx
對應輸出應該為:
24
你的輸出為:
33
謝謝!幣不多 不要嫌棄!
原程序將此處:
for(int k =0; k<i; k++)
{
p=0;
if(str[k]==str[i])
p=1;
}
改為:
for(int k =0; k<i; k++)
{
p=0;
if(str[k]==str[i]){
p=1;
break;
}
}