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

Input-: n = 4 Output-:

Approach we are using in the given program is as follows −
START
Step 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
Print </p><p>
End
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 </p><p>
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 </p><p>
End
End
Step 2-> In main()
Declare variable int n = 5
call pattern(n)
STOP#include <stdio.h>
//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("</p><p>");
}
//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("</p><p>");
}
//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("</p><p>");
}
}
int main() {
int n = 5;
pattern(n);
return 0;
}
以上就是六边形图案的C程序的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号