字符构成的图形

本文介绍了一个使用特定字符绘制图形的算法实现,通过定义CharGraph类,可以生成不同类型的直角三角形字符图形,包括递增、递减及空行输出,适用于编程竞赛和图形输出任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem A: 字符构成的图形Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 3442 Solved: 2303
[Submit][Status]Description定义CharGraph类,用于输出一个由指定字符组成的图形。该类包括:

  1. 一个int类型数据成员,表示该图形的层数。
  2. 一个char类型的数据成员,表示组成该图的字符。
  3. void print()方法,用于根据指定格式输出字符图形。
    Input第1行N>0,表示有N个测试用例。
    每个测试用例的输入由一个非负整数和一个字符组成。
    Output每个测试用例产生一组输出。
    当指定的层数为0时,输出一个空行。
    当指定的层数为正数时,输出每层字符个数自上到下依次递增且靠左对齐的直角三角形。
    当指定的层数为负数时,输出每层字符个数自上而下依次递减其靠左对齐的直角三角形。
    具体格式见样例。
    Sample Input
    3
    10 c
    0 0
    -5 +
    Sample Output
    c
    cc
    ccc
    cccc
    ccccc
    cccccc
    ccccccc
    cccccccc
    ccccccccc
    cccccccccc

+++++
++++
+++
++
+
HINTAppend Codeappend.cc,

#include<iostream>
using namespace std;
class CharGraph{
public:
    CharGraph(int a_ , char c_):a(a_),c(c_){}
    void print(){
        if(a==0)
            cout<<endl;
        else
        {
            if(a>0)
        {
            for(int i = 1 ; i <= a ; i++)
        {
            for(int j = 1 ; j <= i ; j++)
                cout<<c;
            cout<<endl;
        }
        }
        else
        {
            for(int i = a ; i <= -1 ; i++)
        {
            for(int j = i ; j <= -1 ; j++)
                cout<<c;
            cout<<endl;
        }
        }
        }
    }
private:
    int a;
    char c;
};
int main()
{
    int cases, n;
    char c;
    cin>>cases;
    for (int i = 0; i < cases; i++)
    {
        cin>>n>>c;
        CharGraph cGraph(n, c);
        cGraph.print();
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值