补题报告
------------恢复内容开始------------
1
没有注意看题,导制重复写了函数 createMateix 一直出现编译错误。
2
将问题分解:(1)输入菜数,和客人喜欢的编号。(2) 计数各种菜品的喜欢人数(3)输出最受欢迎的菜品及其编号
解决思路 (1)将客人输入数放进数组a[],输入以EOF结束,同时定义一个计数数组cnt[]={0},将输入的a[i]作为数组b的下标,并cnt[a[i]]++(3)最后处理特殊情况通过一个循环后判断最大值,因为当出现并列最大值时,题目要求我们要从大到小输出,所以我们就可以在使用一个循环并用一个数组来记录最大值的下标(菜品编号),然后就是用循环输出。
以下是关键代码部分
3
经过分析题目可得一下几种情况(1)n大于字符串长度len(2)n小于zfc长度 同时还要考虑当字符串的下标 i-n的正负情况
解决方法思路 将对应得字符放进新的字符数组中(1)当n>len时就是多循环的几轮,所以我们可以用取余来处理(2)当i-n>=0时 p[i-n];当i-n<0时,p[len+i-n];
4
题目分析 当我们手动走过数据就会发现,该矩阵的形成包括4种过程每种都将进行(n/2)+1次,需要注意的是每次循环过程中都有一部分下标不变,同时下一次进行另一种循环时,其个数需要注意,因为上一个循环的最后一个结果刚好是下一种循环的开头,所以应当重视。同时还要注意的是红色循环一开始是7个。1次大循环结束后行和列应当发生变化,是数据能向内推进,所以我们要设置4个数ii0,j0,hang=n-1,lie=n-1.
解题思路 首先我们应使用嵌套循环和并列循环主循环是次数,其中嵌套着4中过程的并列循环
循环1
循环2
循环3
循环4
j0+1的原因是第四轮进行中会发现,尾部是第一次循环的第一个数,头部是第三次循环的第一个数,所以应当减少循环次数
在一轮大循环结束后4个数据应当发生变化
------------恢复内容结束------------