题主搜了一些简单的c语言利用for输出图形,比如一些正三角和菱形一类的,现在遇到两个比较特殊的图案,一个是字母A,一个是五角星,如图。(中间那个请无视)请问如何在c语言中使用for循环输出这两个图形呢等大佬解答
A字母从有前后2个*开始分成2个情况除了中间是7个*外,可以对应于i==4两个*间间隔空格数是 2i+1i的范围是[0,7],即i<8而前面空格数,以最左边为间隔0个为准,分别间隔[7,0]个int main(void){ char S[17]={0}; int i=0,j=0; for(i=0;i<8;i++){ for(j=0;j<8-i;j++){ //处理左边空格 S[j]=' '; } // 开始处理*与中间空格 S[8-i]='*'; for(j=0;j<i;j++){ if(i==4){ S[8]='*'; S[8-j]='*'; S[8+j]='*'; }else{ S[8]=' '; S[8-j]=' '; S[8+j]=' '; } } S[8+i]='*'; printf(S); printf("\n"); } return 0; }其实五角星的也是类似处理分3个阶段的,找到对称轴,找到分阶段的关系即可。
A字母从有前后2个
*
开始分成2个情况*
外,可以对应于i==4
*
间间隔空格数是2i+1
[0,7]
,即i<8
而前面空格数,以最左边为间隔0个为准,分别间隔
[7,0]
个其实五角星的也是类似处理分3个阶段的,找到对称轴,找到分阶段的关系即可。