PTA 7-121 空心菱形

PTA 7-121 空心菱形 分数 10
作者 李祥 单位 湖北经济学院
请编写程序,输入菱形的高,输出由星号勾勒出的菱形。

输入格式
行数(正整数)

输出格式
若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息。

输入样例1

5

输出样例1

  *
 * *
*   *
 * *
  *

输入样例2

8

输出样例2

Error

代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB

#include <stdio.h>
#include <math.h>

int main()
{
    int n;//行数(正整数)
    scanf( "%d",&n );//输入
    if( n % 2 != 0 )
    //若行数为奇数,则显示星号勾勒出的菱形
    {
        for( int i = -(n - 1) / 2;i <= (n - 1) / 2;i++ )
        {
              //i代表了行数,同时也记录了每行需求前置空格的数量
                for( int j = 1;j <= (n - abs(i));j++ )
                {
              //从最左侧开始打印,n-绝对值(i)即为最右侧*所在位置,也是一行的最后值
                  if( j <= abs(i) || j > abs(i) + 1 && j < (n - abs(i)) )
              //j<=绝对值(i)即前置空格,j > 绝对值(i)+1 即第一个*号后,j<最后值,即第二个*号前
                      printf(" ");//打印空格
                  else
                      printf("*"); //打印*
                }
            printf("\n");
         }
    }
    else
    {
        printf("Error");//否则显示错误信息
    }
    return 0;
}

解题思路
根据输入菱形的高,输出由星号勾勒出的菱形的步骤:
step 1:若行数为奇数,则显示星号勾勒出的菱形,否则显示错误信息;
step 2:输入行数(正整数),也记录了每行需求前置空格的数量;
step 3:从最左侧开始打印,到最右侧所在位置;
step 4:打印前置空格,第一个
号后,第二个号前,在满足条件下输出空格和

归属知识点
选择结构,循环结构

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值