C语言打印菱形

       首先,我想的是菱形是对称的,先打印最长行的上侧再打印最长行再打印下侧,先找到每行左侧空格与行数之间的关系,再找*与行数的关系,再找右侧空格与行数的关系。脑袋有些乱,找关系找了很久,发现*后面还要有空格(又有一些乱了),最后再找后面空格数与行数的关系(我还在想空格和前面的还不一样,又找新的关系式)。写出上半部分后,在编译器上竟然成功打印了三行,真的很开心!到中间部分,因为那个题是七行,中间的部分我直接打了七个*(还没有意识到自己的错误)

       到下一部分,再寻找前空格数,*数,后空格数与行数之间的关系。这之间还有一个我犯的小错误,for循环后面加上了分号,在编译器上编译失败了,试了好多次,又改变了条件,改换了很多种不同的条件,最后自己看英文的提示后改对了(还挺自豪)。

在上面的步骤完成后,我在我的编译器上竟然编译成功了

      我把原码放在PTA上,显示最小奇数和次小奇数,我发现自己没有考虑一和三,我开始用if条件语句,写出一和三的情况。(说起来有点搞笑,我直接把一和三的情况给打印出来了。)提交答案后,显示我的格式错误。

      我开始找博客,寻找大佬代码,大概看了一眼,发现后面的空格可以不用考虑,直接把*打出来就可以,我把有关后面空格的代码删除,提交还是错误的。这个时候我也意识到我中间的行打印的不对,如果输入的值不是七,我的输出将会是错误的,我开始把中间行写成循环(还是有一些麻烦,我还没有发现它可以归到上面)。

      我寻找把一和三提出来的代码,结果没有找到!开始改自己的代码,把一和三也放进去,重新找解析式,并且意识到中间的一行*可以放在上一部分,这个时候,才走上了正路,最后修改一下小细节,提交答案就正确了。

      过程有一些艰难,自己在电脑前写了两个小时(晚上有一个考试,都迟到了),但在解决问题之后真的很happy。自己做了一些总结

1.脑袋一定要清晰,找解析式一定要快准狠。

2.逻辑要连贯,在写这个代码的时候我中间去吃了个饭,导致我在敲下半部分的代码时很混乱,与上面的连不上。

3.思路要简洁,从刚开始的后面空格要到打,打中间 行,到后来删去后面空格,中间行归到上面去,代码越来越简洁,思路也越来越简洁,感觉代码更加机械化(没有感情?)。

4.注意细节,有些细节是基础,基础一定要打牢。

5.问题要量化,打印菱形:先打印上一部分,再打印下一部分,按行打印,先打印空格,再打印*。把一个大问题细化成许多小问题,再一个个解决小问题,大问题慢慢就解决了!

6.要勇敢,不要害怕,不要放弃。当我看到这道题的时候,作为小白的我真的是很恐慌的,一想到这个过程就好麻烦,不知道自己能不能写到最后,但最后还是勇敢的写下去了,最后没有结果又如何呢!过程最重要了(当看到编译器成功打印那三行上三角时,我真的真的,那种心情我难以描绘,就是很兴奋,通过自己的努力,解决了一部分的问题,虽然最后那个代码被改了,但那种心情真的是难以忘怀的!)

下面来欣赏一些我的成果吧!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值