您好,错误原因是条件考虑不全。题目第二行给定的数据均是非负整数,题主只考虑了s为正整数的情况,增加对0单独考虑的代码即可。
增加的代码参考如下:
if (s == 0)
a[0]++;
除此之外,while循环体可以优化一下,建议如下:
while (s) //不知道为什么下面代码字体变灰......
{
k = s % 10;
a[k]++;
s /= 10;
}
如果对本回答有疑问,欢迎在回答下方评论!
如果本回答成功帮到你,麻烦动动手指点个采纳,谢谢啦~