如何用C语言输出下面的图形
*****************************************原图形是右对齐的,百度把排版搞乱了...
*
***
*****
*******
*********
*******
*****
***
*
原图形是右对齐的,百度把排版搞乱了 展开
***
*****
*******
*********
*******
*****
***
*
原图形是右对齐的,百度把排版搞乱了 展开
2个回答
展开全部
输出菱形?我知道你说的那图形
对于这种输出图可以先分析
行数 空格(符号之前的) 字符
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=0;i<4;i++)
{
for(int j=i;j<3;j++)//控制空格输出个数
printf(" ");//输出空格
for(int k=0;k<2i+1;k++)//控制字符输出个数
printf(" * ");//输出字符
printf("\n");
}
//--------下半部分------------
for(i=0;i<3;i++)//下半部分只有3行定义i<3
{
for(int j=0;j<i+1;j++)
printf(" ");
for(int k=0;k<5-2i;k++)
printf(" * ");
printf("\n");
}
retutn 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=0;i<4;i++)
{
for(int j=i;j<3;j++)//控制空格输出个数
printf(" ");//输出空格
for(int k=0;k<2i+1;k++)//控制字符输出个数
printf(" * ");//输出字符
printf("\n");
}
//--------下半部分------------
for(i=0;i<3;i++)//下半部分只有3行定义i<3
{
for(int j=0;j<i+1;j++)
printf(" ");
for(int k=0;k<5-2i;k++)
printf(" * ");
printf("\n");
}
retutn 0;
}
追问
拜托先看看问题好吗,不要乱复制
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询