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

c语言显示六边形

发布时间: 2022-04-19 03:30:20

c语言打印空心六边形 为什么我的图案右上角有个单独的* 以下是我的程序

for(i=0;i<=2*n-1;i++)这里的i从1开始循环就好了for(i=1;i<=2*n-1;i++)

② C语言输入与圆的半径,计算出园内整洁六边形的面积 以及六边形占圆面积的百分比

#include<stdio.h>
#include<math.h>
intmain(void)
{
floatPI=3.14159;
floatr,e_area,p_area,ratio;
printf("输入半径:");
scanf("%f",&r);
e_area=r*r*PI;//圆的面积
p_area=3*r*r*sqrt(3)/2;//正六边形的面积,sin函数的参数是弧度
ratio=p_area/e_area;//比例
printf("内接正六边形的面积:%f ",p_area);
printf("六边形占圆面积的百分比:%f\%",ratio*100);//因为要求输出百分比,所以乘100
return0;
}

③ c语言打印空心六边形 每条边五个心号

#include <stdio.h>
void output(int num);
int main()
{
int num;
int k=10;

while(k)
{
scanf("%d",&num);
if(num > 1)
{
output(num);
}
k--;
}
return 0;
}
void output(int num)
{
int i,j;
char c='*';
for(i=0;i<2*num-1;i++)
{
if((i==0)||(i == (2*num-2)))
{
for(j=0; j<3*num-2; j++)
{
if(((num-1) <= j)&&(j <= (2*num-2)))
{ printf("%c",c);
}
else printf(" ");
}
}
if((0 < i)&&(i < num))
{
for(j=0; j<3*num-2; j++)
{
if((j == num-1-i)||( j == 2*num-2+i))
{ printf("%c",c);
}
else printf(" ");
}
}
if((num <= i)&(i < 2*num-2))
{
for(j=0; j<3*num-2; j++)
{
if((j == (i-num+1))||(j == (4*num-i-4)))
{ printf("%c",c);
}
else printf(" ");
}
}
printf("\n");
}
}

函数说明:
K为操作次数,可以自己定
本程序用*代替心,LZ可以自己查询心的码值代进去即可!

④ c++问题 输出正六边形

#include<stdio.h>
#include<string.h>
void main()
{
int n;
int i;
int j;
int k;

char line1[100];
char line2[100];
char line3[100];

scanf( "%d", &n );

for( i=0; i<=n+1; i++ ) {
printf( " " );
}

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

for( i=1; i<=n+1; i++ ) {
for( j=i; j<=n; j++ ) {
printf( " " );
}
printf( "*" );
for( k=0; k<2*n+2*i; k++ ) {
printf( " " );
}
printf( "*" );
printf( "\n" );
}

/*--------------------*/

for( i=1; i<=n; i++ ) {
printf( "*" );
for( k=0; k<4*n+2; k++ ) {
printf( " " );
}
printf( "*" );
printf( "\n" );

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

for( i=1; i<=n+1; i++ ) {
printf( "*" );
printf( " " );
}
printf( "\n" );
}

虽然不对,但是很累

⑤ C语言中怎么编程在计算机屏幕上显示如下图案

如果实在普通LCD屏上显示某个图案,需要先将待显示的图案用专用软件处理成图像数据,然后封装到一个数组里,然后编写一个子函数将这些数据按顺序写到LCD缓冲区中即可。
如果是在PC机的显示器上显示该图案,需要首先根据该图片的格式(如jpeg,或BMP,或其它格式),进行分析,去除图片格式头,然后将图片文件中的图像数据(即像素点)提取出来,然后写入显示器的缓存中即可。

⑥ C语言绘制边长为2cm的正六边形程序

晕哦``你都不悬赏的``哪有人帮你做啊

⑦ 急急急!!!用C语言编写程序输出边长为N的正六边形,边长由*组成,求代码!

嘻嘻,“正六边形”,程序很简单,提前你的输出环境,必须设置输出长高像素一样,不知道你长高“像素”,程序也没办法达到你说的“正”

⑧ 用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语言问题:如何编写一个程序,输入一个正整数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语言 打印图形 打印空心六边形 每条边由五个*组成

#include<stdio.h>

main()
{
int n,i,j;

printf("请输入n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
printf(" ");//每行前面的空格
}
if(i==1)
{//第一行
for(j=0;j<n;j++)
{
printf("*");
}
}
else
{//中间各行
printf("*");
for(j=1+2*2;j<=n+2*i;j++)
{
printf(" ");//每行前面的空格
}
printf("*");
}
printf("\n");//换行
}
for(i=i-2;i>0;i--)
{
for(j=1;j<=n-i;j++)
{
printf(" ");//每行前面的空格
}
if(i==1)
{//第一行
for(j=0;j<n;j++)
{
printf("*");
}
}
else
{//中间各行
printf("*");
for(j=1+2*2;j<=n+2*i;j++)
{
printf(" ");//每行前面的空格
}
printf("*");
}
printf("\n");//换行
}
}