中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。
输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。
输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)
输入样例: 4 This is a test case 输出样例: asa T st ih e tsi ce s 排版题,注意,i和j的关系,多排两次就出来了。摊手,挺麻烦的但是不难。但愿到时候你可以写出来吼。。 #include<bits/stdc++.h> #define ms(a,x) memset(a,x,sizeof(a)) using namespace std; typedef long long ll; int gcd(int a,int b){ if(b==0)return a; return gcd(b,a%b);} int lcm(int a,int b){ return a/gcd(a,b)*b;} int main(){ int n; char a[1000+10]; char aa[1010][1010]; cin>>n; getchar(); gets(a); int h; int len=strlen(a); if(len%n==0)h=len/n; else h=strlen(a)/n+1; int k=0;int i;int j; for(i=h-1;i>=0;i--){ for(j=0;j<n;j++){ if(k<len){ aa[j][i]=a[k++]; } else aa[j][i]=' '; } } for(int j=0;j<n;j++){ for(int i=0;i<h;i++){ printf("%c",aa[j][i]); } printf("\n"); } return 0; }