C++ C++;编程代码计数[s[i]';0';]++;; for(int i=0;iX
这段代码是什么意思,任何人都可以解释这段代码“counts[s[i]-“0']++;”精确运算是一个十元素数组,用于计算每个数字在C++ C++;编程代码计数[s[i]';0';]++;; for(int i=0;iX,c++,C++,这段代码是什么意思,任何人都可以解释这段代码“counts[s[i]-“0']++;”精确运算是一个十元素数组,用于计算每个数字在s中出现的次数 具体而言: s[i]-'0'将'0'转换为0,'1'转换为1等 计数[…]+递增数组的相应元素 counts是一个十元素数组,用于计算每个数字在s中出现的次数 具体而言: s[i]-'0'将'0'转换为0,'1'转换为1等 计数[…]+递增数组的相应元素 代码正在计算一个数字(1-9)在字符串s中出现的次数 注意'i'-'0'与i-0相同。 原因是
s
中出现的次数
具体而言:
将s[i]-'0'
转换为'0'
,0
转换为'1'
等1
递增数组的相应元素计数[…]+
counts
是一个十元素数组,用于计算每个数字在s
中出现的次数
具体而言:
将s[i]-'0'
转换为'0'
,0
转换为'1'
等1
递增数组的相应元素计数[…]+
(1-9)
在字符串s
中出现的次数
注意<如果i
是一个数字,则code>'i'-'0'
与i-0
相同。
原因是字符'0'-'9'
具有连续的ASCII值。因此'i'
和'0'
之间的ASCII值差异是i
现在让我们说
for (int i = 0; i < s.length(); i++)
{
if (isdigit(s[i]))
counts[s[i] - '0'] ++;
}
及
循环中
我们检查s[i]
int count[10] is all zeros
等等
最后,
count[i]
将告诉您字符串中有多少个i
s。代码正在计算一个数字(1-9)
在字符串s
中出现了多少次
注意<如果i
是一个数字,则code>'i'-'0'
与i-0
相同。
原因是字符'0'-'9'
具有连续的ASCII值。因此'i'
和'0'
之间的ASCII值差异是i
现在让我们说
for (int i = 0; i < s.length(); i++)
{
if (isdigit(s[i]))
counts[s[i] - '0'] ++;
}
及
循环中
我们检查s[i]
int count[10] is all zeros
等等
最后,count[i]
将告诉您字符串中有多少个i
s。希望这有帮助
1) “0”的Ascii值为48
2) 只要s[i]是一个数字(0-9之间包括在内)
3) s[i]-“0”计算为索引(0到9之间,包括0到9)
例如:
“1”的Ascii值为49
假设s[i]是“1”
那么s[i]-“0”是49-48=1
4) counts[s[i]-“0']++将计算在s[i]中找到特定数字的次数。希望这有帮助
1) “0”的Ascii值为48
2) 只要s[i]是一个数字(0-9之间包括在内)
3) s[i]-“0”计算为索引(0到9之间,包括0到9)
例如:
“1”的Ascii值为49
假设s[i]是“1”
那么s[i]-“0”是49-48=1
4) 计数[s[i]-“0']++将计算在s[i]中找到特定数字的次数。
是一个数组计数
是一个包含ASCII格式数字的字符<代码>'0',s[i]
,'1'
'2'
将它们转换为整数<代码>1,s[i]-“0”
,2
3
- 上面的数字表示数组中第n项的索引-->
X
将数组的第X项增加一个计数[X]+
是一个数组计数
是一个包含ASCII格式数字的字符<代码>'0',s[i]
,'1'
'2'
将它们转换为整数<代码>1,s[i]-“0”
,2
3
- 上面的数字表示数组中第n项的索引-->
X
将数组的第X项增加一个计数[X]+
0-9
的个数。计算数组中每个数字0-9
的个数。s[i]-“0”
的美妙之处在于,即使字符编码不是ASCII,它也能工作。在我的IBM大型机上,'0'
的代码是240,但代码仍然有效!没错,代码是可移植的。我刚刚选择了Ascii图表作为例子。s[I]-“0”
的美妙之处在于,即使字符编码不是Ascii,它也能工作。在我的IBM大型机上,'0'
的代码是240,但代码仍然有效!没错,代码是可移植的。我只是选择Ascii图表作为例子。