中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)
输入样例:4 This is a test case输出样例:
asa T st ih e tsi ce s
#include<stdio.h> #include<string.h> char s[1000][1000]; int main() { int N,x,y,len,i,j,p,flag=1; char str[1005]; memset(s,0,sizeof(s)); scanf("%d%*c%[^\n]",&N,str); len=strlen(str); y=N; if(len%N){ x=len/N+1; } else{ x=len/N; } p=0; for(i=x-1;i>=0;i--) for(j=0;j<y;j++){ if(str[p]){ s[j][i]=str[p]; p++; } else{ s[j][i]=' '; //一开始把s[j][i]设为'\0'就一直通不过 ==尴尬 } } for(i=0;i<y;i++) { for(j=0;j<x;j++) printf("%c",s[i][j]); printf("\n"); } }