C语言数组 某数出现次数

img


这个是正确的程序,但是我特别不能理解为什么这么写,希望大神们可以帮助解释清楚😭😭

代码想法很不错哦😆:
首先😎:
先接收n来确定要接受的数值多少
下面最外层的for循环是将那些数值一一的接收for里的内容是对数值内数字多少的查找
然后😎:
通过字符串的形势来接收数字,后面的for循环是对数值里的数字一个一个的遍历后面的for循环是对内部的数字进行保存
最后😍:
将保存好的数值进行比较选出最大值来打印.

祈求时间🥺:
给舒文点个采纳吧求求了

用数组 q[10] 记录0-9十个数字的次数,q[0] 对应数字 0 的出现次数,q[1] 对应数字 1 ,以此类推。
输入的整数是以字符串的形式储存在数组 str[]中,字符数字 ‘1‘ 和数字 1 ASCII值是不同的,两者相差 1 = ‘1‘ - ‘0’ ,所以第13行到第15行的代码判断字符串 str[b] 位是否是字符数字,如果是字符数字,对应的 q[c] 计数加 1.

具体哪里不懂呢?

把输入的数字当成字符串输入,然后遍历字符串的每一位,次数存在一个新的数组中,遍历次数数组,找到最大的,就是出现次数最多的