songsanyang
songsanyang
采纳率33.3%
2017-11-17 11:09 阅读 1.0k

c++代码运行时错误,错误在哪里

当输入为:
3 acm.sjtu.edu.cn
将输入按照3行的Z字形排列:
a s . .
c . j u e u c
m t d n
将它按行输出:
as..c.jueucmtdn
当输入为:
4 acm.sjtu.edu.cn
将输入按照4行的Z字形排列:
a t .
c j u u c
m s . d n
. e
将它按行输出:
at.cjuucms.dn.e

#include
#include
#include
using namespace std;
int main() {
int n,m;
cin >> n;
getchar();
m = 2 * n - 2;
char *a;
a = new char[31];
cin.getline(a, 31);
unsigned int length;
length = strlen(a);
int i = 0, j = 0;
for (i = 0; i < n; ++i) {
if (i == n)break;
for (j = 0; j < length; ++j) {
if (j == length)break;
if (i == 0 && j%m == 0) cout << a[j];
if (i != 0 && (j%m == (m - i) || j%m == i)) cout << a[j];
}
}
return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    songsanyang songsanyang 2017-11-17 12:31

    当n==1的时候代码不正确

    点赞 评论 复制链接分享

相关推荐