首页 > 其他 > 详细

L1-039. 古风排版

时间:2017-08-09 21:01:05      阅读:285      评论:0      收藏:0      [点我收藏+]

cin.getline(a, 3)只会向数组a中读进2个字符;

 

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

int main()
{
int n;
char a[1001];
cin >> n;
getchar();
cin.getline(a, 1001);
int len = strlen(a);
int k=0; //计数器
int row;
if(len%n==0)
row = len/n;
else
row = len/n+1; //c++默认向下取整
//char b[n][row];

char *b[n];
for(int i=0; i<n; i++)
{
char * temp= (char*)malloc(sizeof(char)*(row+1));
memset(temp, ‘ ‘, sizeof(char)*row);
b[i] = temp;
}
for(int i=0; i<n; i++)
b[i][row] = ‘\0‘;

for(int i=row-1; i>-1; i--)
for(int j=0; j<n; j++) //将a中的字符串放到二维数组中
{
b[j][i] = a[k];
k++;
if(k==len)
goto breakLoop;
}
breakLoop: cout << b[0];
for(int i=1; i<n; i++)
{
cout << endl << b[i];
}
return 0;
}

L1-039. 古风排版

原文:http://www.cnblogs.com/1915884031A-qqcom/p/7327399.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!