前面定义了这个结构体
蓝色这一行是什么意思?为什么要(k+1)%H?
H是每一行输出的学校或者项目数,为5。
目的是,让每一行输出的学校或者项目数,就是5个。当某一行的数目够了之后,后面紧跟换行符,让下一个项目输出在下一行。当某一行的项目不足5个,后面紧跟一个空格,让下一个项目输出在这一行。
怎么实现的呢?在这个for循环中,依次输出项目。k从0开始,0,1,2,3,4,这是第一行。k=0,1,2,3时,(k+1)%H的值不为0,(k+1)%H?' ':'\n'的值为' ' 而k=4时,(k+1)%H的值为0,(k+1)%H?' ':'\n' 的值为'\n'即换行,这样下一个项目就输出在下一行了。
printf中的%c就是占位符,这样,%c要么是空格要么是换行,能实现每行只有H个项目的目的。