當前位置:首頁 » 編程語言 » 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");//換行
}
}