1 条题解
-
-2
【题目大意】 输出一个 n 行的大写字母递增的三角形,大写字母递增到’Z’后下一个回到’A’重新开始递增。
【考纲知识点】 基本运算(一级), 循环结构、ASCII 码、数据类型转换(二级)
【解题思路】
- 先把 A,B,C...Z 这些大写字母看作 0,1,2...25,借助 for 循环嵌套输出数字三角形;
- 将三角形中需要输出的数在输出时转换为大写字母输出;
- 将数转换为大写字母时加上%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
- 上传者