当前位置:首页 » 编程语言 » c语言输出星号实心六边形
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输出星号实心六边形

发布时间: 2022-11-05 19:11:27

c语言,如何输出一行星号如图

#include<sdio.h>
intmain()
{
inti,N;
scanf("%d",&N);
for(i=0;i<N;i++)printf("*");
return0;
}

Ⅱ c语言空心数字六边形

话不多说直接上代码,这是实心的六边形,要输出。我用的啊哈c有system("pause");如果你不是最好删了那个

#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
if(n%2==0)
{
for(i=1;i<=n/2;i++)
{
for(j=1;j<=n/2-i;j++)
printf(" ");
for(j=1;j<=n/2+i*2-2;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=i-1;j++)
printf(" ");
for(j=1;j<=n/2+2*(n/2-i);j++)
printf("* ");
printf("\n");
}
}

else
{
for(i=1;i<=n/2+1;i++)
{
for(j=1;j<=n/2+1-i;j++)
printf(" ");
for(j=1;j<=n/2+1+i*2-2;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=(n/2)+1+((n/2)-i)*2;j++)
printf("* ");
printf("\n");
}
}

system("pause");
return 0;
}

Ⅲ 用C语言编程:从键盘输入N,输出一个由*组成的边长为n的正六边形,我要空心和实心的两个,编2个程序。谢!

#include <stdio.h>

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;
}

Ⅳ c语言输出星号图案

输出星号,主要是锻炼我们使用循环语句的能力。根据图形的规律,研究出循环方法和控制条件,进而编写代码,输出结果,参考代码和运行结果如下:


本代码,可以输出任意高度的图形

do {} while();循环是用来控制测试笔数的,当输入数值小于等于0时,结束测试

Ⅳ c语言问题:如何编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。

a ?
正六边形 你们老师学过数学么?
你可以告诉他 在数学上实现不了这个算法,因为会出现非整数无法在屏幕上实现。
支持楼上的说法,但有一点需要修正,控制台如果用星号的话应该大于45度 因为字符的纵横比不是正方形的,但是绝对到不了120度

我只能做一个类似六边形。不是很正的
#include "stdafx.h"
#include "math.h"
main()
{
int n,cont,cont2,conts;
scanf("%d",&n);
for(cont = 1;cont < 2*n ; cont++)
{
for(cont2=1;cont2<= abs(n-cont);cont2++)
putchar(' ');
for(cont2=1;cont2< 2*n-abs(n-cont);cont2++)
{
printf("* ");
}
putchar('\n');

}

getchar();getchar()
}

Ⅵ 如何用C语言编由*(星号)组成的一些图案,如空心菱形、实心菱形之类的图案

2层循环
外层控制行,内层控制每行显示的"*"和" ".
菱形的话外层循环需要两个

实心的上半部分如下
for(int i=1;i<=n;i++){
for(int j=1;j<=n+i-1;j++)
if(j<n-i+1) printf(" ");
else printf("*");
printf("\n");
}

空心的只需要将条件改为
(j!=n-i+1)||(j!=n+i-1)

下半部分大同小异,翻过来就完.

如果写成这样还不会的话,给提点分,我给写份完整的

Ⅶ 如何用C语言输出星号

C语言输出如题所示图案的代码如下:

#include<stdio.h>

int main( )

{

int x;

int i,j,k;

printf("请输入,需要生成图案的行数(单数):");

scanf("%d",&x);

k=x/2+1;

for(i=1;i<=k;i++)

{

for(j=0;j<2*i-1;j++)

printf("*");

printf(" ");

}

for(i=k-1;i>=1;i--)

{

for(j=0;j<2*i-1;j++)

printf("*");

printf(" ");

}

}

(7)c语言输出星号实心六边形扩展阅读:

由题,需要输出这样一个图像,可将其看为一个正三角形与倒三角形的组合。

且对于下图:

*
***
*****
*******
*****
***
*

由行数与*号的关系可得,在对于总行数/2+1的部分,行数*2+1,即为*号的数目,因而得到了前半段图形的代码。

而对于后半部分的倒三角形,其行数可记为,倒数总行数/2...3、2、1行,则可利用循环以及2*行数-1,得到下半部分的图像。

Ⅷ 如何用c语言输出星号组成的图形,第一排和第三排一个星号,第二排三个星号

#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<memory>
#include<algorithm>
#include<cmath>
#include<ctime>
usingnamespacestd;
intmain()
{
printf("* *** *");
return0;
}

Ⅸ 怎么用c语言打印下面星号组成的图形 是这样的图 × × × × × × × × × × × × ×

#include <stdio.h>
#include <math.h>
void main ()
{
int i,j,k;
for(i=-2;i<3;i++ )/*i初始值赋为-2是因为输出空格数与i的绝对值有关*/
{ /*这个for循环(第一个)控制输出*号的行数*/
for(k=1;k<=abs(i);k++)/*abs()函数作用就是求绝对值,用此函数要包含math.h头文件*/
{ /*这个for循环(第二个)控制输出的空格数*/
printf(" ");/*此处是两个空格,因为每个*号后跟了一个空格,故要打两个空格*/
}
for(j=1;j<=5-abs(2*i);j++)/*这个for循环(第三个)控制输出*号个数*/
{
printf("* ");/*此处是一个*号加一个空格*/
}
printf("\n");/*输出完一行后,换行*/
}
}
/* 行数(对应的i值) 打空格次数 *号个数
1(-2) 2 (k<=abs(i))1(j<=5-abs(2*i)
2(-1) 1 3
3( 0) 0 5
4( 1) 1 3
5( 2) 2 1
(取绝对值 (输出两个
就是方便计算) 空格算一次)
*/不清楚的地方可以hi我,望采纳!
PS:楼上的第二个程序就是最后少了一个花括号

Ⅹ 用C语言程序输出用6颗星构成的等边三角形。

你是想用for 循环打印吗?代码如下:#include <stdio.h>main(){ // 控制打印行数 for (int r = 0; r < 3; r ++) { // 打印空格 for (int i = 3; i > r; i --) /** 当r = 0 时,打印 i - r 个空格,每次打印的次数都是 i - r 。*/ { printf(" "); } // 打印星号 for (int j = 0; j <= r; j ++) /** 当r = 0 是打印一个星号,每次打印的星号就等于r的值*/ { printf("*"); } // 打印完一行后换行 printf("\n"); }}运用这种算法一般能打印普通的图像,如果是比较特殊的就需要用到指针了。这个打印比较简单 你可以画在纸上分析一下他的执行顺序就可以看懂了。