用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/31 11:42:45
用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;
}
再问: 您的程序中 print(abs(n - i - 1), 3 * n - 2 - 2 * abs(n - i - 1), 1); 中的abs我的VC++6.0不识别啊!
再答: 那把abs换成fabs,然后加头文件#include
再问: 您的程序没有满足我“N从键盘输入”的要求啊!我刚刚弄的百度,就30分,您给弄好了我的分全给你。
再答: int main() { int n, flag; printf("Input the N:"); scanf("%d", &n); printf("Hollow or solid?(1/2)"); scanf("%d", &flag); if (flag == 1)hollow(n); else solid(n); return 0; }
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;
}
再问: 您的程序中 print(abs(n - i - 1), 3 * n - 2 - 2 * abs(n - i - 1), 1); 中的abs我的VC++6.0不识别啊!
再答: 那把abs换成fabs,然后加头文件#include
再问: 您的程序没有满足我“N从键盘输入”的要求啊!我刚刚弄的百度,就30分,您给弄好了我的分全给你。
再答: int main() { int n, flag; printf("Input the N:"); scanf("%d", &n); printf("Hollow or solid?(1/2)"); scanf("%d", &flag); if (flag == 1)hollow(n); else solid(n); return 0; }
用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序.
用C语言编程:从键盘输入N,输出一个由*组成的N行的等腰三角形
C语言编程,用键盘输入一个正数N,输出2N+1行的空心菱形
c++ 编一个C程序,计算并输出数列:1、3、5、…、2n-1、…的前n项之和,其中的n由键盘输入.
java编程!用户从键盘输入一个整数n,程序求出n的累加和并输出.(如:1+2+3+4+……+n)
用c语言编-从键盘输入一个自然数n,找出所有连续的自然数段全部数之和为n
急求C语言编程:从键盘输入n个实数(n的值由键盘输入),求其中的最大值.谢谢了、、、、
用C语言编程,从键盘输入正整数n,输出1+(1+2)+(1+2+3)+···+(1+2+3+···+n)的值
C语言编程:有三个整数abc,由键盘输入,输出其中最大的数 我的程序错在什么地方?
C语言编程:由键盘输入一个点的坐标,判断这个点是否在单位圆内,在的话输出Y,否则输出N.
c语言求解.从键盘输入一个正整数N,再输入N个整数,按从小到大的顺序输出.
C语言:请编写一个程序,从键盘读入两个整数a和n,计算并输出a+aa+aaa+...+aa...a(n个a)的值.