1 条题解

  • -2
    @ 2024-4-26 20:59:27

    【题目大意】 输出一个 n 行的大写字母递增的三角形,大写字母递增到’Z’后下一个回到’A’重新开始递增。

    【考纲知识点】 基本运算(一级), 循环结构、ASCII 码、数据类型转换(二级)

    【解题思路】

    1. 先把 A,B,C...Z 这些大写字母看作 0,1,2...25,借助 for 循环嵌套输出数字三角形;
    2. 将三角形中需要输出的数在输出时转换为大写字母输出;
    3. 将数转换为大写字母时加上%26,确保输出到’Z’之后下一个字符为’A’。

    【参考程序】

    #include <iostream>
    using namespace std;
    int main() 
    {
        int n;
        cin >> n;
        int ch = 0; //定义 ch 计数
        for (int i = 1; i <= n; i++) { //外层循环:三角形共有n 行
             for (int j = 1; j <= i; j++) {
                    //第一步可以在此处输出 ch,确保三角形的格式正确,再考虑将ch 转换成对应的大写字母
                    cout << (char)('A' + (ch++) % 26); //将输出的数转换为大写字母
             }
             cout << endl;
        }
        return 0;
    }
    
    • 1

    信息

    ID
    497
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    513
    已通过
    166
    上传者