怎样用C语言画一个菱形图案?
展开全部
i表示行号,打一行i 就加1
j表示某一行需要打印空格的数目
k表示某一行需要打印‘*’的数目
这个程序打了一个7行的菱形,我把程序改一下,把i,j,k的计数都从1开始,看起来会比较直观
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印前4行
{
for(j=1;j<=4-i;j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格
printf(" ");
for(k=1;k<=2*i -1;k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个
printf("*");
printf("\n");
}
for(i=1;i<=3;i++) //然后打印后面三行,行号从1开始计算
{
for(j=1;j<=i;j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个
printf(" ");
for(k=1;k<=7-2*i;k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个
printf("*");
printf("\n");
}
}
j表示某一行需要打印空格的数目
k表示某一行需要打印‘*’的数目
这个程序打了一个7行的菱形,我把程序改一下,把i,j,k的计数都从1开始,看起来会比较直观
#include <stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++) //先打印前4行
{
for(j=1;j<=4-i;j++) //每一行先打印需要打印的空格,空格数为(4 - 行号),譬如第1行,需要打4-1个空格,第2行需要打4-2个空格
printf(" ");
for(k=1;k<=2*i -1;k++) //打完空格打‘*',每行需要打印2倍行号+1个,譬如第1行打印2*1 - 1个,第2行打印2*2 - 1=3个
printf("*");
printf("\n");
}
for(i=1;i<=3;i++) //然后打印后面三行,行号从1开始计算
{
for(j=1;j<=i;j++) //每行打印空格数为行号数,譬如第1行打印1个,第2行打印2个
printf(" ");
for(k=1;k<=7-2*i;k++) //每行打印7-2*i个’*',譬如第1行打印7-2*1=5个,第2行打印7-2*2=3个
printf("*");
printf("\n");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询