PTA题目:字符菱形

PTA题目:字符菱形

根据读入的字符和边长,勾画字符菱形。

输入格式:
输入数据含有若干组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 以键盘输入^Z或遇到文件结束符时结束数据输入。

输出格式:
输出以c为填充字符,边长为n的菱形,每个菱形之后都输出一个换行符。

输入样例:
在这里给出一组输入。例如:

A 5 B 3
输出样例:
在这里给出相应的输出。例如:

     A
    AAA
   AAAAA
  AAAAAAA
 AAAAAAAAA
  AAAAAAA
   AAAAA
    AAA
     A
   B
  BBB
 BBBBB
  BBB
   B

提示:建议使用c++的cin进行数据输入。

下面是我写的代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int i,j,k,a,n;
  char c;
  while(cin >> c >> n)
  {
    k=n;
    a=1;
   for(j=0;j<n;j++)//打印次数控制
   {
    
    for(i=0;i<k-1;i++)//打印左空格
    {
      cout << ' ';
    }
    for(i=1;i<=2*a-1;i++)//打印字符
    {
      cout << c;
    }
    a++;
    cout <<endl;
    k--;
    }
    
    k=n-1;
    a=1;
    for(j=0;j<n-1;j++)//打印次数控制,比上面少一行,故n-1
    {
      for(i=1;i<=a;i++)//打印空格
      {
        cout << ' ';
      }
      for(i=1;i<=2*k-1;i++)//打印字符
      {
        cout << c;
      }
      a++;
      k--;
      cout <<endl;
    }
  
  }
}

运行结果如下:

在这里插入图片描述

分析:

本题主要是观察字符的规律,当然字符的规律是很容易观察出来的,需要注意的是打印空格的时候,打印字符左边的空格就可以了,右边的就不用对称打印了,否则PTA上的编译器会报错(大概是输出格式不正确),这一点需要注意。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Andy.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值