編的挺辛苦的,不知道是什麽競賽題,能告訴我嗎?
如果看不懂可以追問我
#include<stdio.h>
#define M 5
#define N 8
int main(void)
{
int i, j, k ; //i 為行, j為列 k為矩陣的輸入個數
int line ; //計算順時針的次數
char a[M][N];
i = j = k = line = 0;
while(k != M*N) //while循環壹次為順時針旋轉壹周
{
for(i = line; i < M -line; i ++)
{
if ( j == N - line)
{
a[i][j-1] = 'A' + k % 26;
k ++;
}
else
{
for(j = line; j < N-line; j ++)
{
a[i][j] = 'A' + k % 26;
k ++;
}
}
} //上半部為 矩陣A到L的輸出
line ++;
//下半部為 矩陣M到V的輸出
for(i = M - line; i >= + line; i --)
{
if(j == line -2)
{
a[i][j+1] = 'A' + k % 26;
k ++;
}
else
{
for(j = N - 1 - line; j >= -1 + line; j --)
{
a[i][j] = 'A' + k % 26;
k ++;
}
if(j == line -2 && line > N/2) //為了排除j == line - 2時,不是所需要的情況
j++;
}
}
}
for(i = 0; i < M; i ++)
{
for(j = 0; j < N; j ++)
{
printf("%c ",a[i][j]);
}
puts("");
}
return 0;
}