酷代码 AI
菜单
服务商

#include <cstdio> using namespace std; int main() { int n; scanf("%d", &n); for(int i = 1; i <= n * n; i ++) { if(i < 10) { printf("0%d", i); } else { printf("%d", i); } if(i % n == 0) { printf("\n"); } } printf("\n"); int cnt = 1; for(int i = 1; i <= n; i ++) { for(int j = 1; j <= n - i; j ++) { printf(" "); } while(cnt <= i * (i + 1) / 2) { if(cnt < 10) { printf("0%d", cnt); } else { printf("%d", cnt); } cnt ++; } printf("\n"); } }

```c #include <cstdio> // 使用标准命名空间 using namespace std; // 主函数,程序的入口点 int main() { // 定义一个整数变量 n,用于存储用户输入的数字 int n; // 从标准输入读取一个整数,并将其存储到变量 n 中 scanf("%d", &n); // 外层循环,从 1 到 n 的平方,用于生成 n * n 个数字 for(int i = 1; i <= n * n; i ++) { // 如果当前数字 i 小于 10,输出带前导零的数字 if(i < 10) { printf("0%d", i); } // 否则,直接输出数字 else { printf("%d", i); } // 如果当前数字 i 是 n 的倍数,输出换行符 if(i % n == 0) { printf("\n"); } } // 输出一个额外的换行符 printf("\n"); // 定义一个计数器变量 cnt,初始值为 1 int cnt = 1; // 外层循环,从 1 到 n,用于控制三角形的行数 for(int i = 1; i <= n; i ++) { // 内层循环,输出空格,用于实现三角形的右对齐 for(int j = 1; j <= n - i; j ++) { printf(" "); } // 当计数器 cnt 小于等于当前行最大数字(i * (i + 1) / 2)时,继续循环 while(cnt <= i * (i + 1) / 2) { // 如果计数器 cnt 小于 10,输出带前导零的数字 if(cnt < 10) { printf("0%d", cnt); } // 否则,直接输出数字 else { printf("%d", cnt); } // 计数器 cnt 加 1 cnt ++; } // 每行数字输出完毕后,输出换行符 printf("\n"); } } ``` 代码功能 此 C++ 代码的主要功能是根据用户输入的整数 `n` 完成两项输出任务。 1. 输出一个 `n` 行 `n` 列的矩阵,矩阵中的元素为从 1 到 `n * n` 的数字,个位数前会添加前导零。 2. 输出一个数字组成的直角三角形,同样个位数前会添加前导零,且三角形右对齐。 [2025-11-23 19:18:16 | AI问答 | 590点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多