打印一个可变大小的方阵,N为每边字符的个数(3<=N<=20),要求:最外层是’T’,第二层是’J’,从第三层开始打印1,2,3,…。如:N=10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | // string.cpp : 定义控制台应用程序的入口点。 //火星黑客研究院 //http://www.h4ck.org.cn //code by obaby #include "stdafx.h" #include "stdio.h" #include "windows.h" void Fuckthechar(int i); int main(void) { int daxiao; printf("方阵数组计算\n"); printf("请输入要生成方阵的大小(要求大于3,小于20):\n"); scanf("%d",&daxiao); if (daxiao<3 || daxiao>20) { printf("你脑残啊,还是不识数啊?"); } else{ Fuckthechar(daxiao); }; Sleep(100000); } void Fuckthechar(int i) { char str[20][20]; int zhi=47; int n; n=i; for(int x=0;(n-2*x)>0;x++) //控制层数,初始化 { for(int y=x;y<(n-x);y++) { if(x==0) { str[x][y]=str[y][x]=str[n-x-1][y]=str[n-y-1][n-x-1]='T'; } else if(x==1) { str[x][y]=str[y][x]=str[n-x-1][y]=str[n-y-1][n-x-1]='J'; } else { str[x][y]=str[y][x]=str[n-x-1][y]=str[n-y-1][n-x-1]=zhi; } } zhi++; } for(int m=0;m<i;m++) { for(int n=0;n<i;n++) { printf("%c",str[m][n]); } putchar('\n'); } printf("生成方阵完毕~,code by obaby~ Bye~"); } |