首页 > 代码库 > 字母游戏
字母游戏
字母游戏
时间限制:1000 ms | 内存限制:65535 KB
【问题描述】
peter喜欢玩字母游戏,于是他编写了一个有趣的游戏。游戏规则是在一个 (N-1) * N的表格里填写字母,规则:对于每个输入的N,由 (N-1) * N的字母区域的左上角开始,从字母A开始逆时针填充一个字母区域,乘积若超过26继续由新一组的A、B、C??填充,不要求输出边框。
【输入】
多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1<=N<=30),表示表格的宽度。
【输出】
对于每组输入数据,输出N-1行,为填完的表格(N-1行,每行N个整数,每个数字之间用空格隔开)。
【样例输入】
5
【样例输出】
代表一个4*5的顺时针旋转的字母区域,其样式如下:
A B C D E
N O P Q F
M T S R G
L K J I H
代码实现:
#include<stdio.h>
int k;
int num=0;
int a[101][101];
void fun(int i,int j,int n)
{
if(n==1||n==0)
return ;
else
{
for(k=1;k<n;k++)
a[i][j++]=num++;
for(k=1;k<n-1;k++)
a[i++][j]=num++;
for(k=n-1;k>=1;k--)
a[i][j--]=num++;
for(k=n-2;k>=1;k--)
a[i--][j]=num++;
i++;j++;
fun(i,j,n-2);
}
}
int main()
{
int n;
int i=1,j=1;
scanf("%d",&n);
fun(1,1,n);
for(i=1;i<=(n-1);i++)
{
for(j=1;j<=n;j++)
printf("%c ",(a[i][j]%26+‘A‘));
printf("\n");
}
return 0;
}
字母游戏