输出字符回形阵
来源:互联网 发布:网络连接设备包括 编辑:程序博客网 时间:2024/05/04 11:27
【题】
输出字符回形阵
输入图形行数N和中心字符,输出如图所示回形方阵。
例如,输入:5 Z
输出如下图形:
X X X X X
X Y Y Y X
X Y Z Y X
X Y Y Y X
X X X X X
注:N<24,且N是奇数。
- 5 Z↵
- X X X X X↵
- X Y Y Y X↵
- X Y Z Y X↵
- X Y Y Y X↵
- X X X X X↵
- 3 a↵
- z z z↵
- z a z↵
- z z z↵
- 2 b↵
- 2 is not a odd number!↵
【代码】
#include <stdio.h>#define N 100void Output(char arr[][N],int n);void Init(char arr[][N], int n);void Func(char arr[][N], int n, char ch);int main( ){ int n; char ch, arr[N][N];scanf("%d", &n);getchar();ch = getchar();//putchar(ch); if(n % 2 == 0) { printf("%d is not a odd number!\n", n); return 0; } Init(arr, n);//Output(arr, n); Func(arr, n, ch); Output(arr, n);return 0;}void Func(char arr[][N], int n, char ch){ int i, j; char tmpCh; for(i = 0; i <= n / 2; i++){ if(ch >= 'A' && ch <= 'Z') tmpCh = (ch - 'A' - (n/2-i) + 26*(n/2/26+ 1)) % 26 + 'A'; else tmpCh = (ch - 'a' - (n/2-i) + 26*(n/2/26+ 1)) % 26 + 'a'; for(j = 0; j < n; j++) //上侧 if(arr[i][j] == '\0') arr[i][j] = tmpCh; for(j = 0; j < n; j++) //右侧 if(arr[j][n-1-i] == '\0') arr[j][n-1-i] = tmpCh; for(j = 0; j < n; j++) //左侧 if(arr[j][i] == '\0') arr[j][i] = tmpCh; for(j = 0; j < n; j++) //下侧 if(arr[n-1-i][j] == '\0') arr[n-1-i][j] = tmpCh;}}void Init(char arr[][N], int n){ int i, j; for(i = 0; i < n; i++){ for(j = 0; j < n; j++) arr[i][j] = '\0';}}void Output(char arr[][N], int n){ int i, j; for(i = 0; i < n; i++){ for(j = 0; j < n-1; j++) printf("%c ", arr[i][j]); printf("%c\n", arr[i][j]);}}
- 输出字符回形阵
- 输出字符和宽字符
- 宽字符输出
- 输出C字符
- 字符的输出
- wcout 输出宽字符
- 旋转字符输出
- 宽字符输出
- UNICODE字符输出???
- 输出三角形的字符
- 输出html字符
- c++中输出字符
- unicode 字符的输出
- opengl 输出宽字符
- 输出宽字节字符
- 打字机式字符输出
- 字符输出流
- 输出中文字符
- 设置串口属性基本流程
- 搬到CSDN,两个同时用,以防万一
- 最常见的程序员面试题(12)观察者模式和weak_ptr
- ubuntu server下JDK的安装及环境变量的设置
- u-boot中env命令的使用
- 输出字符回形阵
- 静态资源部署分析和实验
- 印孚瑟斯被 IDC MarketScape 报告评为领导者
- android 修改电量图标(改为数字图标)
- httpd.conf
- usb hid 协议入门
- UML交互图
- jQuery自定义slide方向
- 子串反向——递归