正文

精巧的打印漩涡状字符的代码2007-03-28 21:43:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/flying99/24358.html

分享到:

题目: 打印一个 N*N 的方阵,N为每边字符的个数(3<N<20), 要求最外一层为"T", 第二层为"J", 从第三层起每层依次打印数字 1,2,3,...   解答: #include<iostream>#include<vector> using namespace std; // 求最小的数inline int min(int a,int b){ return ((a<b) ? a:b);}// 求四个数中较小的那个inline int MinOfFour(int a,int b,int c,int d){    return min(min(a,b),min(c,d));} void print(int n) //n为需要打印的方阵的行列数{ string str("TJ123456789"); int i,j; for(i =0;i!=n;i++) {   for(j =0;j!=n;j++)  {   cout<<str[MinOfFour(i,j,n-i-1,n-j-1)];  }    cout<<endl; }}void main(){ int n; cout<<"输入一个整数:"; cin>>n; print(n);} 此解法的精妙之处在于,掌握了图案的规律,将2维方阵转化为一维来处理。                    

阅读(2672) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册