题解 | #牛牛的字符菱形#

牛牛的字符菱形

https://www.nowcoder.com/practice/11a5040fa894430f9d25fda1be37ddc8

#include<stdio.h>
int main()
{
    char ch=0;
    scanf("%c",&ch);
   

    for(int i=0;i<3;i++)//简单说一下思路,这是上部分,有三行,也可以说有三次循环,每次我都要打印相应的#
	  //第一次#,二###,三#####
    {  
        for(int c=0;c<2-i;c++)//这是每行所需要的空格,实际上我是先作第三部,将每行所需的#打印好再来完成这步,反复试验得出每行空格2-i
        {
            printf(" ");
        }
        for(int j=0;j<2*i+1;j++)//这是每行所需要的#号,经过我反复试验,最终确定 它与i即行数3的关系是2*i+1
		  //试验也很简单,把值往里代,想想是什么。
        {
            printf("%c",ch);

        }
        printf("\n");//执行完了,最后一步换换行
        
    }

    for(int i=0;i<3;i++)//这是下部分
    {  
        for(int c=0;c<1+i;c++)//所需空格
        {
            printf(" ");
        }
        for(int k=0;k<3-2*i;k++)//每行所需的#
        {
            printf("%c",ch);
        }
        printf("\n");//换行
        
    }

    return 0;
    
}


    

具体的值比如空格关系2-i;2*i+1这些过程,试了很多遍,过程繁杂凭感觉与无逻辑不可思议。我无法用文字组织出来,有种可意会不可书写的感觉,只能说多想多练,思维发散。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务