PTA——7-7 字母方阵 (20分)
链接:https://pintia.cn/problem-sets/1330440096972591104/problems/1330440124365590534
本题要求从右上角开始按字母表顺序S型打印由小写字母组成的字母方阵。
输入格式:
输入为一个正整数n (1=<n<=1000)。
输出格式:
按字母表顺序输出n行n列的小写字母组成的方阵,从右上角开始S型循环打印,字母之间用一个空格分割,每行最后一个字母后面没有空格。
输入样例:
6
输出样例:
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
思路:是一道非常典型的模拟题,这道题有用while来循坏的非常简单,但由于我有时候并不能很快的想到,所以这里用了for循坏。
正确代码:
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
int n;
while(scanf("%d",&n)!=EOF){
char a[n+5][n+5];
int k=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i%2==0){
a[i][j]='a'+k;
k++;
}
else{
a[i][n-j-1]='a'+k;
k++;
}
if(k==26) k=0;
}
}
for(int i=0;i<n;i++){
for(int j=n-1;j>=0;j--){
if(j!=n-1) printf(" ");
printf("%c",a[j][i]);
}
printf("\n");
}
}
return 0;
}