#include<stdio.h>
int main()
{ int i,n
scanf("%d",&n)
for(i=1i<ni++)
printf("%*d%*d\n",2*i,i,4*(n-i),i)
printf("%*d\n",2*i,i)
return 0
}
输出菱形?我知道你说的那图形对于这种输出图可以先分析
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
}