励志成为用霸王生发水的码农 2021-12-01 20:45 采纳率: 100%
浏览 45
已结题

#c语言#问题古风排版的问题

问题遇到的现象和发生背景

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

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

Output
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)
代码在自己电脑上面是正确的,提交到判题系统里面却没有输出结果,显示Runtime Error:Floating point exception。

问题相关代码,请勿粘贴截图

#include<stdio.h>
int main()
{
    int j=0,l,h,n;
    char a[1000],b[250][250],c;
    scanf("%d",&n);
    getchar();
    scanf("%c",&a[j]);
    while ( a[j]!='\n')  {
        h=j%n;
        l=250-j/n-1;
        b[h][l]=a[j];
        j++;
        scanf("%c",&a[j]);
    }
        for ( int i=0;i<n;i++ )  {
    for ( int j=l;j<250;j++ )  {
            printf("%c",b[i][j]);
        }
       printf("\n");
    }
    return 0;
}
运行结果及报错内容

img

我的解答思路和尝试过的方法

难道是前面的二维数不能传到一维数吗?
但测试过,可以输出

img

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 技术专家团-Bamboo 2021-12-01 21:09
    关注

    如果输入的字符数超过250,并且n为1,即j/n>250,那么250-j/n-1就会是负数了,数组越界

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月1日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改