图形打印(正三角,反三角,菱形)已经杨辉三角10.23

来源:互联网 发布:位置定位软件 编辑:程序博客网 时间:2024/06/01 08:26
正三角形打印:
int i = 0, k = 0, a = 0, n = 0;//n是行数,i是当前行数,k是空白行数

for (i = 1; i < 8; i++)    //总行数为7,i是当前行数
{
printf("\n\t\t\t");
for(k = 0; k < 7 - i; k++)//k是空白行数,k=1,空白行数等于总行数减去当前行数


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

}  





反三角形打印:


int i = 0, k = 0, a = 0, n = 0;//n是行数,i是当前行数,k是空白行数

for (i = 1; i < 8; i++)    //总行数为7,i是当前行数
{
printf("\n\t\t\t");
for(k = 0; k < i-1; k++)//k是空白行数,k=1,空白行数等于当前行数-1


{printf(" "); }
for (n = 0; n < (7- i +1)*2-1; n++)//n是星号行数,星号行数等于(总行数-当前行数+1)乘以2-1
{
printf("*");
}

}  




菱形打印:
int n = 0, k = 0, i = 0, j = 0,a=0; //i=总行数,k=中间行,n=当前行,a=空格数,j=星号数;
scanf("%d", &i);//输入行数,打印出对应行数的菱形
getchar();
for (n = 1; n < i; n++)    //总行数为i,n是当前行数
{
k = i/2;
printf("\n\t\t\t");
for(a = 0; a < abs(k-n); a++)//a是空白行数,k=1,空白行数等于中间行数减去当前行数的绝对值


{printf(" "); }
for (j = 0; j < (k - abs(k - n))*2-1; j++)//j是星号行数,星号行数等于(总行数-当前行数+1)乘以2-1
{
printf("*");
}

}  

杨辉三角
void main()
{
int a[10][10] = { 0 },i,j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (j == 0)
{
a[i][j] = 1;
}
if (j > 0 && i >= j) 
{
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
if (i >= j)
{
printf("%5d", a[i][j]);
}
}
putchar('\n');
}
getchar(0);

原创粉丝点击