大家来看看有没有更好的算法?
/*
* 070426-22:00
* 问题描述
3. 打印一个 N*N 的方阵,N为每边 N=15 打印出下面图形
字符的个数(3<N<20), 要求最 TTTTTTTTTTTTTTT
外一层为"T", 第二层为"J", 从第三层 TJJJJJJJJJJJJJT
起每层依次打印数字 1,2,3,... TJ11111111111JT
(右图以N为15为例) TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
TJ12333333321JT
TJ12222222221JT
TJ11111111111JT
TJJJJJJJJJJJJJT
TTTTTTTTTTTTTTT
*/
#include <iostream.h>
const int N=15;
int main()
{
char str[N][N],c; //str为方阵数组,c存放当前填充字符
int cir_num,n; //cir_num为圈数,n为圈数计数器
int i,j;
if(N%2) cir_num=N/2+1;
else cir_num=N/2;
n=1; //初始化计数器
while(n<=cir_num)
{
if(n==1) c='T';
else if(n==2) c='J';
else if(n==3) c='1';
for(i=0;i<N;i++) //也可用for(i=n-1;i<=N-n;i++)
for(j=0;j<N;j++) //也可用for(j=n-1;j<=N-n;j++)
{
if((i==n-1||i==N-n)&&(j>=n-1&&j<=N-n)) //对当前圈的两行赋值
str[i][j]=c;
if((j==n-1||j==N-n)&&(i>=n-1&&i<=N-n)) //对当前圈的两列赋值
str[i][j]=c;
}
n++;c++;
}
//输出方阵
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<str[i][j]<<' ';
cout<<endl;
}
return 1;
}
* 070426-22:00
* 问题描述
3. 打印一个 N*N 的方阵,N为每边 N=15 打印出下面图形
字符的个数(3<N<20), 要求最 TTTTTTTTTTTTTTT
外一层为"T", 第二层为"J", 从第三层 TJJJJJJJJJJJJJT
起每层依次打印数字 1,2,3,... TJ11111111111JT
(右图以N为15为例) TJ12222222221JT
TJ12333333321JT
TJ12344444321JT
TJ12345554321JT
TJ12345654321JT
TJ12345554321JT
TJ12344444321JT
TJ12333333321JT
TJ12222222221JT
TJ11111111111JT
TJJJJJJJJJJJJJT
TTTTTTTTTTTTTTT
*/
#include <iostream.h>
const int N=15;
int main()
{
char str[N][N],c; //str为方阵数组,c存放当前填充字符
int cir_num,n; //cir_num为圈数,n为圈数计数器
int i,j;
if(N%2) cir_num=N/2+1;
else cir_num=N/2;
n=1; //初始化计数器
while(n<=cir_num)
{
if(n==1) c='T';
else if(n==2) c='J';
else if(n==3) c='1';
for(i=0;i<N;i++) //也可用for(i=n-1;i<=N-n;i++)
for(j=0;j<N;j++) //也可用for(j=n-1;j<=N-n;j++)
{
if((i==n-1||i==N-n)&&(j>=n-1&&j<=N-n)) //对当前圈的两行赋值
str[i][j]=c;
if((j==n-1||j==N-n)&&(i>=n-1&&i<=N-n)) //对当前圈的两列赋值
str[i][j]=c;
}
n++;c++;
}
//输出方阵
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<str[i][j]<<' ';
cout<<endl;
}
return 1;
}
...全文
相关推荐
PluginNinja:管理 PocketMine 插件的更好方法(项目搁置)
插件忍者管理 PocketMine 插件的更好方法该项目尚未处于工作状态。 有没有想过安装插件是多么愚蠢? 你有没有读过所谓的简单安装说明,并认为这些并不简单。 你必须喜欢...拖放东西,这在当今世界
关于java 为何 IntelliJ IDEA 比 Eclipse 更好?
许多开发者都认为,Intellij IDEA 比 Eclipse 更好。那么,为什么 Intellij IDEA 会比 Eclipse 更好?
一种比SIFT算法更好的特征提取及匹配算法。
【标题】中的“一种比SIFT算法更好的特征提取及匹配算法”指的是在计算机视觉领域,研究者们在SIFT(尺度不变特征变换)算法的基础上,发展出了一种更高效的特征提取和匹配方法。
有没有讲解leetcode题的-CodeChallenge:我对一些代码挑战的解决方案以及每个程序员都应该知道的数据结构和设计模式
有没有讲解leetcode题的破解密码挑战这是什么我对一些代码挑战的解决方案以及每个程序员都应该知道的一些数据结构、设计模式、算法。解决办法去。解决办法去。常用数据结构,转。常用设计模式,转至.常用算
Algorithms--据说比《算法导论》更好的算法书籍
### 知识点生成#### 一、书籍简介与算法概览本书籍《Algorithms》被誉为“据说比《算法导论》更好的算法书籍”,它由S. Dasgupta、C. H.


