

这是一个比较复杂的题
至少我第一遍做的时候是感觉比较复杂的
我先想到的是数组,用数组接收数字
想到了这里面的数组初始化,还有里面的那个头文件和函数。就想着不把每个数都存进数组里了,而是把每个输入的数作为的数组的下标,就是这个数字每出现一次,这个数字作为下标的那个数组的元素就加1。
因为数组已经初始化了,所以数组最开始的元素值都是0,所以加完之后最终的值就是每个不同的数字的个数。
但是,需要输出的是,从0到你所输入的数中最大的数,这些数出现的次数都要输出
例如,输入的数中最大的是3,那就要输出0出现了几次,1出现了几次,2出现了几次,3出现了几次。
以此类推。
设最大的那个数是w,那么就要再弄一个循环,依次输出a〔0〕到a〔w〕。
但,这个中怎么表示。
然后,我想到了再定义一个数组b。将每次输入的数字分别存入b〔i〕。
然后再求出b〔i〕的最大值,用b〔i+1〕表示出那个最大值。
也就是输出a〔0〕到a〔b〔i+1〕〕
但是不行。应该说直接用b〔i+1〕不行。
因为这个i是在是在它自己的那个循环里的,它有它自己代表的意思,好像还不是j和i的原因。
所以,我就找了中间变量q。
注意,q要在循环在定义,把那个最大值赋值给q,然后再在循环外把q的值给p,这样p就代表了那个最大值。
最后依次输出即可。
我知道肯定不是很完美,于是我看解析,发现可以这样
这个在第12.13行两行就完成了找那个最大值,其他的地方都一样。
版权声明:本文为qq_64744030原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。