c语言 如何输出以下图形

Python019

c语言 如何输出以下图形,第1张

输出菱形?我知道你说的那图形

对于这种输出图可以先分析

行数 空格(符号之前的) 字符

1--------- 3----------- 1

2--------- 2----------- 3

3--------- 1----------- 5

4--------- 0----------- 7

5--------- 1----------- 5

6--------- 2----------- 3

7--------- 3----------- 1

把图形从第四行分开分成上下两半,上半部分字符2i+1(i为行数-1),空格从3--0递减;下半部分将第5行看作第一行,字符5-2i(i为行数-1),空格等于行数1--3递加

程序:

#include<stdio.h>

int main()

{

//---------上半部分-----------

for(int i=0i<4i++)

{

for(int j=ij<3j++)//控制空格输出个数

printf(" ")//输出空格

for(int k=0k<2i+1k++)//控制字符输出个数

printf(" * ")//输出字符

printf("\n")

}

//--------下半部分------------

for(i=0i<3i++)//下半部分只有3行定义i<3

{

for(int j=0j<i+1j++)

printf(" ")

for(int k=0k<5-2ik++)

printf(" * ")

printf("\n")

}

retutn 0

}

#include <stdio.h>

#include <conio.h> 

int main()

{

int i,j

char c='A'

for(i=1i<=5i++)

{

for(j=1j<=5-ij++) printf(" ")

for(j=1j<=i*2-1j++) printf("%c",c)

printf("\n")

c++//第一个填空

}

c--

for(i=4i>=1i--)//第二个填空

{

c--

for(j=1j<=5-ij++) printf(" ")

for(j=1j<=i*2-1j++) printf("%c",c)//第三个填空

printf("\n")

}

getch()

return 0

}

#include <iostream>

using namespace std

int main( )

{

int i,j,n=6  //n代表上三角行数

//先输出上三角

for(i=1i<=n++i) //输出n行

{

//输出第i行

for(j=1 j<=n-i ++j) //输出n-i个空格

cout<<" "

for(j=1 j<=2*i-1 ++j) //输出2*i-1个星号

cout<<"*"

cout<<endl

}

//下面输出下三角

for(i=1i<=n-1++i) //输出n-1行

{

//输出第i行

for(j=1 j<=i ++j) //输出i个空格

cout<<" "

for(j=1 j<=2*(n-i)-1 ++j) //输出2*i-1个星号

cout<<"*"

cout<<endl

}

return 0

}