用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 00:47:06
![用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.](/uploads/image/z/2998187-35-7.jpg?t=%E7%94%A8C%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%EF%BC%9A%E4%BB%8E%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5N%2C%E8%BE%93%E5%87%BA%E4%B8%80%E4%B8%AA%E7%94%B1%2A%E7%BB%84%E6%88%90%E7%9A%84%E8%BE%B9%E9%95%BF%E4%B8%BAn%E7%9A%84%E6%AD%A3%E5%85%AD%E8%BE%B9%E5%BD%A2%2C%E6%88%91%E8%A6%81%E7%A9%BA%E5%BF%83%E5%92%8C%E5%AE%9E%E5%BF%83%E7%9A%84%E4%B8%A4%E4%B8%AA%2C%E7%BC%962%E4%B8%AA%E7%A8%8B%E5%BA%8F.)
用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
#include
void print(int space, int num, int type)
{
while (space--) putchar(' ');
if (type)
{
while (num--) putchar('*');
putchar('\n');
}
else
{
putchar('*');
num = (num > 2)? num - 2: 0;
while (num--) putchar(' ');
putchar('*');
putchar('\n');
}
}
void solid(int n) //空心
{
int i;
for (i = 0; i < 2 * n - 1; i++)
print(abs(n - i - 1), 3 * n - 2 - 2 * abs(n - i - 1), 1);
}
void hollow(int n) //实心
{
int i;
print(n - 1, n, 1);
for (i = 1; i < 2 * n - 2; i++)
print(abs(n - i - 1), 3 * n - 2 - 2 * abs(n - i - 1), 0);
print(n - 1, n, 1);
}
int main()
{
hollow(4);
return 0;
}