前言:
此刻大家对“c语音星星”大概比较重视,各位老铁们都想要知道一些“c语音星星”的相关文章。那么小编在网摘上汇集了一些关于“c语音星星””的相关文章,希望小伙伴们能喜欢,兄弟们快快来了解一下吧!在网上可能有人有C语言打印五角星还挺好看的,于是我就想先整个简单的,先打印个六芒星,没想到确实还没有像想象中的那么简单。
讲一下我实现的思路:
首先,把六芒星分成上下两部分,然后以上边一部分为例:
每一行的格式均为若干空格,一个星星,若干空格,一个星星,若干空格,一个星星,若干空格,一个星星.一共是打印四次空格四次星星。
然后细节方面是,
1.空格的数目和行数的关系
2.前有几行星星打印为空格
3.中间有一行星星打印为空格
参考代码:
#include <stdio.h>#include <stdlib.h>void paint(n){ int i,j; for (i=0; i<=n/2; i++) { for(j=0; j<i; j++) printf(" "); if(i>=n/5) printf("*"); else printf(" "); for(j=0; j<n-1-2*i; j++) { if(i==n/5) printf("*"); else printf(" "); } if(i!=n/2) printf("*"); for(j=0; j<2*i-1; j++) { if(i==n/5) printf("*"); else printf(" "); } if(i!=0&&i!=n/2) printf("*"); for(j=0; j<n-1-2*i; j++) { if(i==n/5) printf("*"); else printf(" "); } if(i>=n/5) printf("*"); printf("\n"); } for (i=0; i<n/2; i++) { for(j=0; j<n/2-i-1; j++) printf(" "); if(i<=n/5) printf("*"); else printf(" "); for(j=0; j<2*i+1; j++) { if(i==n/5) printf("*"); else printf(" "); } printf("*"); for(j=0; j<n-3-2*i; j++) { if(i==n/5) printf("*"); else printf(" "); } if(i!=n/2-1) printf("*"); for(j=0; j<2*i+1; j++) { if(i==n/5) printf("*"); else printf(" "); } if(i<=n/5) printf("*"); printf("\n"); }}int main(){ paint(10); return 0;}
能力有限,写的稍微有点儿复杂,读者有什么好的解法可以指教一下呀,欢迎留言讨论。
如果您喜欢,
欢迎点一下关注呦。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #c语音星星