关于输出图案的实验

在屏幕上输出以下图案:

关于输出图案的实验

题目分析

根据要输出上述图案,每一行输出的字符都比上一行的字符增加两个,到了字符最多时每一行输出的比上行减少两个。

思路分析

首先因为要输出*,我们首先考虑使用for循环,使用循环打印出图案,然后开始进行如上图的排列,因为每次输出每行比上一行多两个字符,则考虑每次循环打印时一 次增加两个,具体如:
for (i = 0; i < j; i=i+2){
for ( n = 0; n <= i; n++){
printf("%c", arr[n]);
}
当字符输出完后,又依次减少两个
输出,具体如:
for (i = j-2; i>=0; i=i-2){
for ( n =0;n<i; n++){
printf("%c", arr[n]);
}

代码如下

关于输出图案的实验

测试结果

关于输出图案的实验

总结

本次练习中,首先是关于实现图案的排序问题,其次输出每一行时,需要在结束时换行,我当时出现的问题就是在换行上的问题,导致输出图案排列不正确,使我进一步了解了for循环的用法。