(C语言)字符菱形——给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。

输入:

输入只有一行, 包含一个字符。

输出:对应的菱形

样例输入

*

样例输出

  *
 ***
*****
 ***
  *

 

#include<stdio.h>
#define N 5//菱形的行数
int main(void)
{
char a;
int i,j,n;
scanf("%c",&a);//输入要呈现的符号
for(i=1;i<=N;i++)
{  
	n=(N/2+1);//n为菱形的正中间一行的位置
	if(i<=n)//当i处于上面的三角形时
	{	
	while(1)
	{   
	  if(n-i>0)
	    {
		printf(" ");//先输出第i行前面的空格,每一行的空格为n-i个
		n--;
	    }
	  else break;
	}
	for(j=1;j<=2*i-1;j++)//再输出第i行的符号,每行个数为2*i-1个
	   printf("%c",a);
	}
	else     //同理,当i处于下面的三角形时
	{
	while(1)
	{   
	    if(i-n>0)//这个地方要要改一下,每行的空格为i-n个
		{
		   printf(" ");
		   n++;
		}
	    else break;
	}
	for(j=1;j<=2*(N-i)+1;j++)//输出第i行的符号,每行个数为2*(N-i)+1个
           printf("%c",a);
	}
	   printf("\n");//每一行结束后输出一个换行
	}		
	
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值