用c语言输出的图案
㈠ c语言输出数字图案
这个有助于帮助你理解计算机显示字符的方法和原理。
首先要存储每个数字字符的点阵信息,每个点用1位二进制数表示1表示有点0表示无点。
分析一下,你的每个数字每行12字符,即12点,共18行,可以用16位二进制数组存放
那么我们就开设数组存储unsigned short int num1[18];
拿字符1来说,每行的点阵转化成16进制数据记录下来:
000000000000 0x00
000000000110 0x06
000000011110 0x1e
000000011110 0x1e
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000110 0x06
000000000000 0x00
这样存储下来是:unsigned short int num1[18]={0,6,0x1e,0x1e,6,6,6,6,6,6,6,6,6,6,6,6,0};
程序在显示这样的字符时,需要逐行取这些点阵,逐位判断是否是1,根据显示要求看1代表字符0还是空格;多个数字一行需要同时先把所有数字的第1行显示完后再去处理第2行,直到处理完18行为止。
㈡ 怎么用C语言输出如下图形
#include<stdio.h>
void main()
{ int i,j,n=1;
for ( i=0;i<5;i++,printf("\n") ) //5行,每循环一次换行
for ( j=0;j<i+1;j++,n++ ) //每次循环分别输出1,2,3,4,5个数据
printf("%d ",n); //每次输出数据和一个空格,每输出一个数据数据自身加1
}
㈢ 用C语言编程输出菱形 图案
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印上边的四行
{
for(j=1;j<=4-i;j++) //控制要打印的空格数量
printf(" ");
for(k=1;k<=2*i-1;k++) //控制要打印的星号数
printf("*");
printf("
");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++) //控制要打印的空格数
printf(" ");
for(k=1;k<=7-2*i;k++) //控制要打印的星号数
printf("*");
printf("
");
}
}
(3)用c语言输出的图案扩展阅读:
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
表达式
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
while
while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
㈣ 用c语言输出以下图案
#include<stdio.h>
intmain(void)
{
inti;
for(i=0;i<5;++i)
{
printf("%*s ",i+5,"*****");
}
return0;
}
㈤ 用C语言输出一个五角星图案
我用VC6实现了。关键代码如下:
1、获得五个外顶点的坐标:
int m_xw[5]; //5个X外顶点坐标
int m_yw[5]; //5个Y外顶点坐标
void CMyTestView::getCoord()
{
int c = 360 / 5; //角度
int r = 150;
for (int i = 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();
然后直接在绘图函数中添加如下代码:
void CMyTestView::OnDraw(CDC* pDC)
{
CMyTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
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]);
}
//运行结果
完整的程序给你发到QQ邮箱了!
㈥ 用C语言编写一个程序输出菱形图案
#include<stdio.h>
intmain(void)
{
inti,j,k,n;
printf("n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n+1-i;j++)
printf("");
for(k=1;k<=2*i-1;k++)
printf("%c",64+i);
printf(" ");
}
for(i=1;i<=n-1;i++)
{
for(j=1;j<=i+1;j++)
printf("");
for(k=1;k<=2*(n-i)-1;k++)
printf("%c",65+n-i-1);
printf(" ");
}
return0;
}
㈦ 如何用c语言输出这样图形
#include<stdio.h>
#define N 5
void main()
{int i,j;
for(i=1;i<=N;i++)
{for(j=0;j<=N-i;j++)
{printf("%4c",'*');}
printf("\n");
}
}这个你可以根据需要更改N的值,从而可以得到不同层数的图形。