当前位置:首页 » 编程语言 » 如何用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(" ");

}

}

运行结果