Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
倒数字三角形【***】 - NOTEBOOK
倒数字三角形【***】
C++
Posted on 2023-08-10
摘要 : 学会理解二维数组、多重for套嵌
❱ 描述:

以下的数字倒直角三角形是由二个数确定的:一个数是行数R,1<=R<=39,另一个是种子数S,1<=S<=9。S放在左上角,照着样例输出文件的样子,写一个程序,根据输入的二个数打印出相应的数字倒直角三角形。

❱ 输入描述:

单独一行,二个用空格隔开的整数

❱ 输出描述:

输出倒直角数字三角形,输出时数字与数字之间不留空格字符。

❱ 用例输入:

6 1



❱ 用例输出:

用例输出:
124727
35838
6949
151
62
3


❱ 简单办法
垂直方向来依次输入数据
#include<iostream>
using namespace std;

int main() {
int m,n; // 定义 行,列
cin>>m>>n;
int a[m+2][m+2]={0}; // 二维数组初始化

for(int j=1;j<=m;j++){ // 垂直方向来依次输入数据,所以从 j 开始
for(int i=1;i<=m;i++){ // 这里也可以修改成 i<=j;
if(j<=i-1){ // 如果上面修改成 i<=j; 那这句就可以不要。
continue;
}
a[i][j] = n;

n++;
if(n>9){
n=1;
}
}
}
// 打印矩阵
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
if(a[i][j]!=0){
cout << a[i][j]; // 依次打印每一行,用空格隔开。
}else{
cout << " ";
}

}
cout<<endl; // 每一行结束,打印换行符号。
}
}



❱ 横向输入数据,需要找出数据变化关系【复杂】

#include<iostream>
using namespace std;

int main() {
int m,n; // 定义 行,列
cin>>m>>n;
int a[m+2][m+2]={0}; // 二维数组初始化

int k; // 一行种格子的变化
for(int i=1;i<=m;i++){
k = n;
for(int j=1;j<=m;j++){
if(j<=i-1){ // 跳开前面空白格
continue;
}
a[i][j] = k%9 ? k%9 : 9;

k = k+j;
}
n = n+i+1;
}
// 打印矩阵
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
if(a[i][j]!=0){
cout << a[i][j]; // 依次打印每一行,用空格隔开。
}else{
cout << " ";
}
}
cout<<endl; // 每一行结束,打印换行符号。
}
}