P5725 【深基4.习8】求三角形
题目描述
模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。
输入格式
输入矩阵的规模,不超过 99。
输出格式
输出矩形和正方形
输入输出样例
输入 #1
4输出 #1
01020304 05060708 09101112 13141516 01 0203 040506 07080910
h用来计数:
int n,h=1;
判断是一位数还是两位数:
if(h/10==0){
cout<<0<<h;
}
计数器加一:
h++;
换行:
cout<<endl;
打印正方形:
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(h/10==0){
cout<<0<<h;
}//判断是一位数还是两位数
else{
cout<<h;
}
h++;//计数器加一
}
cout<<endl;//换行
}
回到一开始计数:
h=1;
打印空格:
for(int j=i;j<n;j++){
cout<<" ";
}
打印三角形:
for(int i=1;i<=n;i++){
for(int j=i;j<n;j++){
cout<<" ";
}//打印空格
for(int j=1;j<=i;j++){
if(h/10==0){
cout<<0<<h;
}else{
cout<<h;
}
h++;
}
cout<<endl;
}
源代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,h=1;//h用来计数
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(h/10==0){
cout<<0<<h;
}//判断是一位数还是两位数
else{
cout<<h;
}
h++;//计数器加一
}
cout<<endl;//换行
}//打印正方形
cout<<endl;
h=1;//回到一开始计数
for(int i=1;i<=n;i++){
for(int j=i;j<n;j++){
cout<<" ";
}//打印空格
for(int j=1;j<=i;j++){
if(h/10==0){
cout<<0<<h;
}else{
cout<<h;
}
h++;
}
cout<<endl;
}//打印三角形
return 0;
}