输出菱形c语言

输出菱形

描述
输入一个正整数(奇数),按要求打印菱形。要求,第一行打印1个*,第二行打印3个*,每行等差递增直到输出n个*,之后每行递减输出,直到输出1个*。注意:所有*构成一个菱形的形状,即菱形本身靠中轴线对齐。(注意本题的输出格式)

输入
第1行是一个整数n,表示随后有n组数据。每组数据占一行。

输出
若n不符合要求,输出error;若n符合要求,首先输出print,然后换行打印菱形,并换行。注意:菱形最长的一排*靠左边,无空格。

样例
输入
1
5

输出

代码如下

#include<stdio.h>//打印菱形
int main()
{
	int n, i, b;	
	scanf_s("%d", &n);
    for (i = 0; i < n; i++)
    {
       scanf_s("%d", &b);
       if (b <= 0 || b % 2 == 0)
       {
       printf("error\n"); 
       continue;//对输入数据符合是否符合条件的判断
       }
       else
        {
        printf("print\n");
       for (int a = 0; a < (b + 1) / 2; a++)//a即为第a行,打印上半个三角形		
        {
     for (int c = (b - 1) / 2; c > a; c--)//打印空格
        printf(" ");
        for (float d = -0.5; d < a; d += 0.5)//打印星号
        printf("*");	
        printf("\n");	
        }
        	for (int a =(b+1)/2; a < b; a++)//打印下半个三角形
        	{
        	for (int c =(b+1)/2; c <= a; c++)//打印空格
        	printf(" ");
        	for (float c=b-0.5;c>a;c-=0.5)
        printf("*");
        printf("\n");	
            }
        }	
   }
  	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值