注意一点 空的地方打空格而不是空字符,我因为这wa了一次...
#include<cstdio> #include<cstring> #include<cstdlib> using namespace std; char c='a'; void check() { if(c=='z'+1)c='a'; } int main() { int i,j,size; char mat[10][10]; for(size=3;size<11;size++) { memset(mat,0,sizeof(mat)); for(i=0;i<size;i++) { if(i==0) { for(j=0;j<size;j++){mat[j][i]=c++;check();} continue; } if(i==size-1) { for(j=0;j<size;j++) {mat[j][i]=c++;check();} } else { for(j=0;j<size;j++) { if(j==size-i-1){mat[j][i]=c++;check();} } } } for(i=0;i<size;i++) { for(j=0;j<size;j++) if(j==size-1) if(mat[i][j]!=0) printf("%c ",mat[i][j]); else printf(" "); else if(mat[i][j]!=0) printf("%c",mat[i][j]); else printf(" "); } } //system("pause"); return 0; }