题目:
思路:
1.首先创建了一个Strs结构体,结构体中存放元素的类型,数量以及所在行数。元素总共有七种:ABCDEFG。
2.在initstr函数中,首先进行字符串的初始化。即给每个元素在1-10的范围内随机分配数量(乘3保证数量为3的倍数),然后将每个元素随机分配到不同的行中,例如第一行有3个A,第二行两个A,依次是BCD等元素。
3.分配好每行的各个元素之后,需要对每行元素的顺序进行打乱。因为如果不打乱,每行呈现的效果是AAABBCCC等这种顺序排列,达不到随机的效果 。
4.创建一个同样大小的结构体shows,从一行出发,将hs中相同行的元素打乱后放到shows中。使用布尔数组,当该行中某一位置的元素打乱之后,设置该位置的状态为true,防止随机该行中的位置进行打乱时再次打乱已经改变的位置。
5.输出每行的元素。
代码实现:
结果图: