字母方阵
描述
从右上角开始按字母表顺序S型打印由小写字母组成的字母方阵。
输入
一个正整数n (1=<n<=1000)。
输出
按字母表顺序输出n行n列的小写字母组成的方阵,从右上角开始S型循环打印,字母之间用一个空格分割,每行最后一个字母后面没有空格。
输入样例 1?
6
输出样例 1
j y x m l a
i z w n k b
h a v o j c
g b u p i d
f c t q h e
e d s r g f
#include<stdio.h> int main(int argc,char const*argv[]) { ? ? int n,i,j; ? ? char a[1000][1000],b[26];
? ? scanf("%d",&n); ? ? for(i=0;i<26;i++) ? ? { ? ? ? ? b[i]='a'+i; ? ? } ? ? int z=0,k,l; ? ? for(i=n-1;i>=0;i--) ? ? { ? ? ? ? for(j=0;j<n;j++) ? ? ? ? { ? if(z%26==0) ? ? ? ? ? ? ? ?z=0; ? ? ? ? ? ? a[j][i]=b[z]; ? ? ? ? ? ? z++; ? ? ? ? } ? ? ? ? i--; ? ? ? ? if(i!=-1) ? ? ? ? {for(l=n-1;l>=0;l--) ? ? ? ? { ? ? ? ? ? ?if(z%26==0) ? ? ? ? ? ? ? ?z=0; ? ? ? ? ? ? a[l][i]=b[z]; ? ? ? ? ? ? z++; ? ? ? ? }} ? ? ? ? else i++; ? ? } ? ? for(i=0;i<n;i++) ? ? { ?int s3=0; ? ? ? ? for(j=0;j<n;j++) ? ? ? ? { ? ?if(s3!=0) ? ? ? ? ? ? printf(" "); ? ? ? ? ? ? printf("%c",a[i][j]); ? ? ? ? ? ? s3++; ? ? ? ? } ? ? ? ? printf("\n"); ? ? }
} ?
|