数组如何输入旋转字母,题目如图求大佬看看,C语言做,最好有标注详细讲解。
一共有 2626 种不同的花,记为 A, B, ..., ZA,B,...,Z 。小波将花按照一定的顺序摆成 n×n 的正方形形状。
代码如下,如有帮助,请帮忙采纳一下,谢谢。
#include <stdio.h>
#include <stdlib.h>
//螺旋数
void luoxuanshu(int n,int start,int** p,int indexx = 0,int indexy = 0)
{
int i,j;
if(n==0)
return;
else if(n == 1)
p[indexx][indexy] = start;
else
{
//上一层
for(i=0;i<n;i++)
{
p[indexx][indexy+i] = start;
start++;
}
//右边
for (i=1;i<n;i++)
{
p[indexx+i][indexy+n-1] = start;
start++;
}
//底边
for (i=n-2;i>=0;i--)
{
p[indexx+n-1][indexx+i] = start;
start++;
}
//左边
for (i = n-2;i>=1;i--)
{
p[indexx+i][indexy] = start;
start++;
}
indexx++;
indexy++;
luoxuanshu(n-2,start,p,indexx,indexy);
}
}
int main()
{
int n,i,j,x,y;
int**p;
scanf("%d %d %d",&n,&x,&y);
p = (int**)malloc(sizeof(int*)*n);
for(i=0;i<n;i++)
{
p[i] = (int*)malloc(sizeof(int)*n);
for(j=0;j<n;j++)
p[i][j] = 0;
}
luoxuanshu(n,1,p);
if(x>0 && x<n && y>0&& y<n)
printf("%c",'A'+p[x-1][y-1]-1);
for(i=0;i<n;i++)
{
free(p[i]);
p[i]=0;
}
free(p);
p=0;
return 0;
}
用(x*n+y)%26+'A'
计算即可