我们被给定一个整数’n’,任务是生成六边形图案并显示最终输出。
示例
Input-: n=5Output-:

Input-: n = 4Output-:

Approach we are using in the given program is as follows −
Input the number ‘n’ from userDivide the entire pattern into three parts i.e. upper part, middle part and lower part Start loop i for printing the upper part of the pattern from i to 0 and i to be less than n and keep incrementing the value of i Start loop m for printing the middle part of the pattern from m to 0 and m to be less than n-2 and keep incrementing the value of m Start loop h for printing the lower part of the pattern from h to res and h to be greater than 0 and keep decrementing the value of h Keep printing the * with spaces.
ALGORITHM
STARTStep 1-> declare function to print hexagonal pattern void pattern(int n) Declare and set int len = 2 * n - 1 Loop For int i = 0 and i < n and i++ declare and set int temp = i + n Loop For int k = 0 and k < temp and k++ IF ((k == n + i - 1) || (k == n - i - 1)) print * End Else print space End PrintEnd Loop For int m = 0 and m < n - 2 and m++ Loop For int j = 0 and j < len and j++ if (j == 0 || j == len - 1) Print * End Else print space End End Print
End declare and set int res = n - 1 Loop For int h = res and h >= 0 and h-- declare and set int temp2 = h + n Loop For int k = 0 and k < temp2 and k++ if ((k == n + h - 1) || (k == n - h - 1)) print * End Else print space End End Print
End EndStep 2-> In main() Declare variable int n = 5 call pattern(n)STOP
Example
的中文翻译为:
示例
#include //program to print hexagon pattern void pattern(int n) { int len = 2 * n - 1; //for loop for upper part of a pattern for (int i = 0; i < n; i++) { int temp = i + n; for (int k = 0; k < temp; k++) { if ((k == n + i - 1) || (k == n - i - 1)) printf("*"); else printf(" "); } printf(""); } //for loop for mid part of a pattern for (int m = 0; m < n - 2; m++) { for (int j = 0; j < len; j++) { if (j == 0 || j == len - 1) printf("*"); else printf(" "); } printf("
"); } //for loop for lower part of a pattern int res = n - 1; for (int h = res; h >= 0; h--) { int temp2 = h + n; for (int k = 0; k < temp2; k++) { if ((k == n + h - 1) || (k == n - h - 1)) printf("*"); else printf(" "); } printf("
"); }}int main() { int n = 5; pattern(n); return 0;}
输出

以上就是六边形图案的C程序的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445492.html
微信扫一扫
支付宝扫一扫