當前位置:首頁 » 編程語言 » 如何用c語言列印星圖
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何用c語言列印星圖

發布時間: 2022-07-20 23:39:15

c語言列印五角星圖形的同時輸出文字

C語言代碼如下:
可以用VC6實現。關鍵代碼如下:
1、獲得五個外頂點的坐標:
intm_xw[5];//5個X外頂點坐標
intm_yw[5];//5個Y外頂點坐標
voidCMyTestView::getCoord()
{
intc=360/5;//角度
intr=150;
for(inti=0;i<5;i++)
{
m_xw[i]=(int)(cos(i*c*PI/30-PI/2)*(r)+r);
m_yw[i]=(int)(sin(i*c*PI/30-PI/2)*(r)+r);
}
}
2、畫線段:
在構造函數中調用求頂點坐標的函數求頂點坐標:
this->getCoord();
然後直接在繪圖函數中添加如下代碼:
voidCMyTestView::OnDraw(CDC*pDC)
{
CMyTestDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
//TODO:adddrawcodefornativedatahere
pDC->MoveTo(m_xw[4],m_yw[4]);
pDC->LineTo(m_xw[1],m_yw[1]);
pDC->LineTo(m_xw[3],m_yw[3]);
pDC->LineTo(m_xw[0],m_yw[0]);
pDC->LineTo(m_xw[2],m_yw[2]);
pDC->LineTo(m_xw[4],m_yw[4]);
}
//運行結果
五角星是指一種有五隻尖角、並以五條直線畫成的星星圖形。英文「五角星」(pentagram)一詞出於希臘語,原意大概是「五條直線的」或「五條線」。中文「五角星」的意義則顯而易見,指有五隻角的星形。然而,中文「五角星」不一定指「標准」五角星。中文「五角星」一詞有時亦泛指所有有五隻角的星形物。
機器語言是以二進制代碼表示的指令集合,是計算機唯一能直接識別和執行的語言。機器語言的優點是佔用內存少、執行速度快,缺點是難編寫、難閱讀、難修改、難移植。

⑵ 如何用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(" ");

}

}

(2)如何用c語言列印星圖擴展閱讀:

由題,需要輸出這樣一個圖像,可將其看為一個正三角形與倒三角形的組合。

且對於下圖:

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

由行數與*號的關系可得,在對於總行數/2+1的部分,行數*2+1,即為*號的數目,因而得到了前半段圖形的代碼。

而對於後半部分的倒三角形,其行數可記為,倒數總行數/2...3、2、1行,則可利用循環以及2*行數-1,得到下半部分的圖像。

⑶ 輸出星型圖案 c語言

1.這是一個輸出n行n列的星形圖案程序
#include<stdio.h>
#define N 7
int main(int argc,char *argv[])
{
int i,j,k;
for(i=0;i<=N/2;i++)
{
for(j=0;j<=N/2-1-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=N/2-1;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=N/2+1-2*i;k++)
printf("*");
printf("\n");
}
return 0;
}
2.這是一個輸出ln行col列星形圖案的程序,當ln=col時,和上述程序功能一樣,只是實現的演算法不同
#include<stdio.h>
#define ln 21
#define col 21
int main(int argc,char *argv[])
{
int i,j,k=ln/2,t,x;
char a[ln][col];
for(i=0;i<ln;i++)
for(j=0;j<col;j++)
a[i][j]=' ';

for(i=0;i<=ln/2;i++){
t=k;
for(j=1;j<=2*i+1;j++)
{
a[i][t]='*';
t++;
}
k--;
}

k=1;
x=ln/2;
for(i=ln/2+1;i<ln;i++)
{
t=k;
for(j=1;j<=2*x-1;j++)
{
a[i][t]='*';
t++;
}
k++;
x--;
}

for(i=0;i<ln;i++){
for(j=0;j<col;j++)
printf("%c",a[i][j]);
printf("\n");
}

return 0;
}

⑷ c語言如何輸出星號三角形*****

1、打開visual C++ 6.0-文件-新建-文件-C++ Source File

⑸ 用C語言怎麼列印五角星

1、獲得五個外頂點的坐標:

intm_xw[5];//5個X外頂點坐標
intm_yw[5];//5個Y外頂點坐標
voidCMyTestView::getCoord()
{
intc=360/5;//角度
intr=150;
for(inti=0;i<5;i++)
{
m_xw[i]=(int)(cos(i*c*PI/30-PI/2)*(r)+r);
m_yw[i]=(int)(sin(i*c*PI/30-PI/2)*(r)+r);
}
}


2、畫線段:
在構造函數中調用求頂點坐標的函數求頂點坐標:
this->getCoord();
然後直接在繪圖函數中添加如下代碼:

voidCMyTestView::OnDraw(CDC*pDC)
{
CMyTestDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
//TODO:adddrawcodefornativedatahere
pDC->MoveTo(m_xw[4],m_yw[4]);
pDC->LineTo(m_xw[1],m_yw[1]);
pDC->LineTo(m_xw[3],m_yw[3]);
pDC->LineTo(m_xw[0],m_yw[0]);
pDC->LineTo(m_xw[2],m_yw[2]);
pDC->LineTo(m_xw[4],m_yw[4]);
}

⑹ C語言星號的列印

請參考代碼

(1)外層循環控制列印的行數

(2)內層循環控制*的數量列印。

#include<stdio.h>

int main(void){

int i,j;

for(i=1;i<=10;i++){

for(j=i;j<=10;j++){

printf("*");

}

printf(" ");

}

}

列印結果如圖示

⑺ 怎麼用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語言問題:列印一個用星號組成的圖形.開始我用的程序是

我編了一個你看看吧
你可以改變M的數值 改變顯示的行數
const int M = 6;
void main()
{
int i,j;
for (i=1; i<=M; i++)
{
for (j=1; j<=i; j++)
{
printf("* ");
}
printf("\n");
}
}
如果一定要指針 。。。如下:
const int M = 6;
void main()
{
int i,j;
char *p = "*";
for (i=1; i<=M; i++)
{
for (j=1; j<=i; j++)
{
printf("%c ",*p);
}
printf("\n");
}
}

你的思路我沒看懂。。
有問題發信到[email protected]找我

⑼ C語言列印星形圖案

改宏 LEVEL 的值,可以列印各種層數的星星,現在是列印6層,如下。

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

#include <stdio.h>

#define LEVEL 6

int main()
{
int i, j, left, right;
char buffer[LEVEL*2];

for ( i = 1; i <= LEVEL; i++)
{
left = LEVEL-i;
right = left+i*2-1;
for (j = 0; j < right; j++)
{
if (j < left)
buffer[j] = ' ';
else
buffer[j] = '*';
}
buffer[j] = '\0';
printf("%s\n",buffer);
}
return 0;
}

⑽ c語言列印星星

#include"stdio.h"

int main()

{

int i,j,k,n;

printf("請輸入列印行數:");

scanf("%d",&n);

for(i=0;i<n;i++)

{

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

printf(" ");

for(j=0;j<=i;j++)

printf("* ");

printf(" ");

}

}

運行結果