用C++语言编译:输出可大可小的正方形图案,最外层是第一层,要求每层上用的数字与层数相同

如题所述

第1个回答  2020-06-26
#include<iostream>
using namespace std ;
int main()
{
int x ;
cin>>x ;
int i,j,k ;
int **cube ;
cube=new int * [2*x] ;
for(i=0;i<2*x;i++)
cube[i]=new int [2*x] ;
for(i=1;i<=x;i++)
{
for(j=1,k=1;j<=x;j++)
{
cube[i][j]=k ;
cube[i][2*x-j]=k ;
cube[2*x-i][j]=k ;
cube[2*x-i][2*x-j]=k ;
if(k<i)
k++ ;
}
}
for(i=1;i<2*x;i++)
{
for(j=1;j<2*x;j++)
cout<<cube[i][j]<<" " ;
cout<<endl ;
}
return 0;
}本回答被网友采纳
第2个回答  2014-10-02
int main() {
int i, j, k, l, m, n;
scanf("%d", &n);
m = 2 * n;
for(i = 1; i < m; i++) {
k = (i < m - i ? i : m - i);
for(j = 1; j < m; j++) {
l = (j < m - j ? j : m - j);
printf("%d", k < l ? k : l);
}
printf("\n");
}
return 0;
}
第3个回答  2011-04-25
1
相似回答