来,这个不怪你们 他可能输出样例显示的有点问题 你用下/* */注释,把输出样例看一下,其实是
01020304
05060708
09101112
13141516
01
0203
040506
07080910
三角形的最后一个数是向最右端对齐的 所以如果出现显示问题,就会导致代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,cnt=0;
cin >> n;
for(i=1;i<=n*n;i++){
if((i-1)%n==0 && i!=1){
cout << endl;
}
if(i<10){
cout << '0';
}
cout << i;
}
cout << endl << endl;
i = 2*n;
while(i){
i-=2;
for(int j=1;j*2<=i;j++){
cout << ' ';
}
for(int j=0;j*2<2*n-i;j++){
cnt++;
if(cnt<10){
cout << '0';
}
cout << cnt;
}
for(int j=1;j*2<=i;j++){
cout << ' ';
}
cout << endl;
}
return 0;
}
嘎 然后我还没发现,以为是0或1的问题 于是我又打了个表
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
switch(n){
case 0: break;
case 1:
cout << R"(01
01)";
break;
case 2:
cout << R"(0102
0304
01
0203)";
break;
case 3:
cout << R"(010203
040506
070809
01
0203
040506)";
break;
case 4:
cout << R"(01020304
05060708
09101112
13141516
01
0203
040506
07080910)";
break;
case 5:
cout << R"(0102030405
0607080910
1112131415
1617181920
2122232425
01
0203
040506
07080910
1112131415)";
break;
}
return 0;
}
嘎嘎 但是红了 才发现问题,试了下输出样例
于是 嘎嘎嘎 总算好了
但是不死心的我还是想打表
就把代码按照新样例改了改
嘎嘎嘎嘎气死了呜呜
发现1那里没换行
最终啊哈哈哈哈哈
完整代码:
打表:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
switch(n){
case 0: break;
case 1:
cout << R"(01
01)";
break;
case 2:
cout << R"(0102
0304
01
0203)";
break;
case 3:
cout << R"(010203
040506
070809
01
0203
040506)";
break;
case 4:
cout << R"(01020304
05060708
09101112
13141516
01
0203
040506
07080910)";
break;
case 5:
cout << R"(0102030405
0607080910
1112131415
1617181920
2122232425
01
0203
040506
07080910
1112131415)";
break;
case 6:
cout << R"(010203040506
070809101112
131415161718
192021222324
252627282930
313233343536
01
0203
040506
07080910
1112131415
161718192021)";
break;
case 7:
cout << R"(01020304050607
08091011121314
15161718192021
22232425262728
29303132333435
36373839404142
43444546474849
01
0203
040506
07080910
1112131415
161718192021
22232425262728)";
break;
case 8:
cout << R"(0102030405060708
0910111213141516
1718192021222324
2526272829303132
3334353637383940
4142434445464748
4950515253545556
5758596061626364
01
0203
040506
07080910
1112131415
161718192021
22232425262728
2930313233343536)";
break;
case 9:
cout << R"(010203040506070809
101112131415161718
192021222324252627
282930313233343536
373839404142434445
464748495051525354
555657585960616263
646566676869707172
737475767778798081
01
0203
040506
07080910
1112131415
161718192021
22232425262728
2930313233343536
373839404142434445)";
break;
default:
cout << "-1";
}
return 0;
}
非打表:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,i,cnt=0;
cin >> n;
for(i=1;i<=n*n;i++){
if((i-1)%n==0 && i!=1){
cout << endl;
}
if(i<10){
cout << '0';
}
cout << i;
}
cout << endl << endl;
i = 2*n;
while(i){
i-=2;
for(int j=1;j<=i;j++){
cout << ' ';
}
for(int j=0;j*2<2*n-i;j++){
cnt++;
if(cnt<10){
cout << '0';
}
cout << cnt;
}
cout << endl;
}
return 0;
}
祝大家AC一片!!