用C语言如何用“*”打印出一个菱形
2个回答
展开全部
题目:打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
for循环,第一层控制行,第二层控制列。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
getch();
}
*
***
*****
*******
*****
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
for循环,第一层控制行,第二层控制列。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
getch();
}
展开全部
#include<stdio.h>
int main()
{
int i,j,h,k;
scanf("%d",&h);
for(j=0;j<=h/2;j++)
{
for(i=0;i<=h/2-j;i++)
{
printf(" ");
}
printf("*");
for(k=0;k<=2*j-2;k++)
{
printf(" ");
}
if(j!=0) printf("*");
printf("\n");
}
for(j=0;j<h/2;j++)
{
for(k=0;k<j+2;k++)
{
printf(" ");
}
printf("*");
for(i=0;i<h-2*j-4;i++)
{
printf(" ");
}
if(j!=h/2-1) printf("*");
putchar(10);
}
putchar(10);
return 0;
}
//输入要是单数,双数是打不出菱形的
int main()
{
int i,j,h,k;
scanf("%d",&h);
for(j=0;j<=h/2;j++)
{
for(i=0;i<=h/2-j;i++)
{
printf(" ");
}
printf("*");
for(k=0;k<=2*j-2;k++)
{
printf(" ");
}
if(j!=0) printf("*");
printf("\n");
}
for(j=0;j<h/2;j++)
{
for(k=0;k<j+2;k++)
{
printf(" ");
}
printf("*");
for(i=0;i<h-2*j-4;i++)
{
printf(" ");
}
if(j!=h/2-1) printf("*");
putchar(10);
}
putchar(10);
return 0;
}
//输入要是单数,双数是打不出菱形的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询