码迷,mamicode.com
首页 > 其他好文 > 详细

L1-039. 古风排版

时间:2017-08-09 21:18:30      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:维数   iostream   cin.get   strlen   oop   ++   取整   字符串   tchar   

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. 古风排版

标签:维数   iostream   cin.get   strlen   oop   ++   取整   字符串   tchar   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!