打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 )
2017-12-07 15:18
295 查看
打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),
要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,…
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
随手写的代码 不是很规整 见谅
要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,…
例子:当N =5,打印出下面的图形:
X X X X X
X Y Y Y X
X Y 0 Y X
X Y Y Y X
X X X X X
#include <stdio.h> void main() { int flag=0; int s=0; int N=0; int x=0; while(N<3||N>20) { scanf("%d",&N); } char a[20]={0}; a[0]=a[N-1]='x'; a[1]=a[N-1-1]='y'; for(x=2;x<=(N-1)/2;x++) { a[x]=a[N-1-x]='0'+x-2; } int i=0; int j=0; for(i=0;i<N;i++) { for(j=0;j<N;j++) { if(((i+j)==N-1)||(i==j)) { printf("%c",a[j]); flag++; }else if((i+j)<N-1) { s=(i<j)?i:j; printf(" 9886 %c",a[s]); flag++; }else if((i+j)>N-1) { s=(i>j)?i:j; printf("%c",a[s]); flag++; } if(flag==N) { printf("\n"); flag=0; } } } }
随手写的代码 不是很规整 见谅
相关文章推荐
- 打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 )
- 打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
- 打印一个N*N的方阵,N为每边字符的个数,要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,...
- 20. orcle中统计一个字符串中某个字符的长度
- 《c程序设计语言》读书笔记--每行一个单词打印输入的字符,除去空符
- 请编写一个程序,一本书中需要打印哪些单词出现频率在前20
- 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
- 输入一个字符串,打印出该字符串中字符的所有排列。
- 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。C++
- C语言程序设计习题1-17 编写一个程序,打印长度大于80个字符的所有输入行
- 一个字符串(其中包含两个A),打印出两个A中间的字符
- 练习1-14 编写一个程序,打印输入中各个字符出现频度的直方图(水平)
- Python 以正确的宽度在盒子中居中打印一个字符
- 从一到十九共十九个数,打印出利用这十九个整数任意多个相加等于20所以可能性,每个数字在同一个算式中只出现一次.
- 在一个字符串中找到出现指定次数的字符,根据用户输入次数,打印出现次数为该次数的字符。如输入abaccedff及1,则输出:b e d 如输入abaccedff及2,则输出:a c f
- 写正确函数需要注意的地方:输入一个字符串,打印出该字符串中字符的所有排列
- 从终端输入一个字符,比如是F,要求只能输出大写字母。 打印出以下格式: F *FE **FED ***FEDC ****FEDCB *****FEDCBA
- 一个字符串有两个A,计算里面的字符个数,并打印出来
- java 集合 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。