2 氨基 4 硝基甲苯:请为我编一下这个C程序:显示这个图形

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 19:30:59
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
图有些问题,是组成一个菱形,每横行的*数量都是对的,只不过应该是从中间对齐组成一个菱形

/*

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

*/

#include<stdio.h>
void main()
{
int i,j,a;//j打印"*",a打印空格
for(i=1;i<7;i=i+2)//打印上半部分
{
for(a=1;a<4-i/2;a++)printf(" ");
for(j=1;j<=i;j++)printf("*");
printf("\n");
}
for(i=1;i<=7;i++)printf("*");//打印中间
printf("\n");
for(i=5;i>=1;i=i-2)//打印下半部分
{
for(a=1;a<4-i/2;a++)printf(" ");
for(j=1;j<=i;j++)printf("*");
printf("\n");
}
printf("\n\n\n");
}

#include<stdio.h>
void printstart(int n){
int i;
for(i=1;i<=n;i++) printf("* ");
}
void space(int n){
int i;
for(i=1;i<=n;i++) printf(" ");
}
void main(){
int i;
for(i=1;i<=4;printf("\n"),i++) {space(8-2*i);printstart(2*i-1);}
for(i=1;i<=3;printf("\n"),i++) {space(2*i);printstart(7-2*i);}
}

#include <stdio.h>

void print(int line, int center)
{
int i;
for(i=0; i<=center+line && i+line<=center*3; i++)
{
(line+i<center || line>center&&line-i>center)?printf(" "):printf(" *");
}
printf("\n");
if(line < center*2)
{
print(line+1,center);
}
}

void main()
{
int center;
printf("Please Input Line Count:");
scanf("%d",¢er);
center=(center-1)/2;
print(0,center);
}