团队天梯赛L1-039. 古风排版

来源:互联网 发布:运营淘宝店要学什么 编辑:程序博客网 时间:2024/05/23 11:51

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:

输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:

按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)

输入样例:
4This is a test case
输出样例:

asa Tst ihe tsi ce s


 FENGBO [编辑资料] [登出] 主页题目集基本信息题目列表提交列表排名帮助L1-039. 古风排版时间限制 400 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard 作者 陈越中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入格式: 输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。 输出格式: 按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个) 输入样例:4This is a test case输出样例:asa Tst ihe tsi ce s #include<stdio.h>#include<string.h>int main(){    int i,j,num_hang,lie=0,sum=0,len,t=0;  char str[1001],arr[1001][1001];   int K,L;  scanf("%d",&num_hang);  getchar();  //回车   gets(str);  len=strlen(str);   while(sum<len)    //求输出数组的列数   {    sum= lie*num_hang;    lie++;  }  lie--;      for(i=lie-1;i>=0;i--)     //给数组赋值     {     for(j=0;j<num_hang;j++)          {        if(t<len) arr[j][i]=str[t++];        else arr[j][i]=' '; //超出字符串长度补空格      }    }        for(K=0;K<num_hang;K++)      {      for(L=0;L<lie;L++)              printf("%c",arr[K][L]);              printf("\n");      }         return 0;} //第一次错误: 原样输出; 输出二维数组与复制循环相同了//原因:   数组输出错误 ,按照赋值格式原样输出,且未打印换行 (printf ("\n");) //第二次错误 :赋值错误;//原因:  赋值与输出对应行列错误,  二维数组的赋值与输出行列必须相同 。  

原创粉丝点击