「已注销」 2019-10-07 21:06 采纳率: 50%
浏览 258

《C Primer Plus》13.11.12题目

图片说明

图片说明

//《C Primer Plus》p438 13.11.12
#include <stdio.h>
#include <stdlib.h>
#define NAME 20
#define ROWS 20
#define COLS 30

int main(void)
{
    FILE * f_n, * f_p;
    char name_n[NAME];
    char name_p[NAME] = "picture";
    int numbers[ROWS][COLS];
    char chs[] = " .':~*=&%#";
    char picture[ROWS][COLS + 1];


    printf("Enter the numbers_file name:");
    scanf("%s", name_n);

    if ((f_n = fopen(name_n, "r")) == NULL)
    {
        fprintf(stderr, "Can't open \"%s\" file.\n", name_n);
        exit(EXIT_FAILURE);
    }
    if ((f_p = fopen(name_p, "w")) == NULL)
    {
        fprintf(stderr, "Can't open \"%s\" file.\n", name_p);
        exit(EXIT_FAILURE);
    }

    int i, j;
    for (i = 0; i < ROWS; i++)
    {
        for (j = 0; j < COLS; j++)
        {
            fscanf(f_n, "%d", &numbers[i][j]);
            picture[i][j] = chs[numbers[i][j]]; 
        }
        picture[i][j] = '\0';
        fprintf(f_p, "%s\n", picture[i]);
    }

    if (fclose(f_n) != 0)
    {
        fprintf(stderr, "Error closing \"%s\" file.\n", name_n);
        exit(EXIT_FAILURE);
    }
    if (fclose(f_p) != 0)
    {
        fprintf(stderr, "Error closing \"%s\" file.\n", name_p);
        exit(EXIT_FAILURE);
    }
    printf("Done.\n");

    return 0;
}

源数据是这样的
0 0 9 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 2 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 5 2 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 1 9 8 5 4 5 2 0 0 0 0 0 0 0 0 0
0 0 0 0 9 0 0 0 0 0 0 0 5 8 9 9 8 5 0 4 5 2 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 1 8 5 0 0 4 5 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 4 5 2 0 0 0 0 0 0
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 0 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 9 9 9 9 9 9 9
8 8 8 8 8 8 8 8 8 8 8 8 5 8 9 9 8 5 8 8 8 8 8 8 8 8 8 8 8 8
5 5 5 5 5 5 5 5 5 5 5 5 5 8 9 9 8 5 5 5 5 5 5 5 5 5 5 5 5 5
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 6 6 0 0 0 0 0
0 0 0 0 2 2 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 5 6 0 0 6 5 0 0 0
0 0 0 0 3 3 0 0 0 0 0 0 5 8 9 9 8 5 0 0 5 6 1 1 1 1 6 5 0 0
0 0 0 0 4 4 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 5 6 0 0 6 5 0 0 0
0 0 0 0 5 5 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 6 6 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 5 8 9 9 8 5 0 0 0 0 0 0 0 0 0 0 0 0
编译调试都找不出问题
会运行很长时间
然后输出文件是空的
似乎就是写入不了
求解
图片说明

  • 写回答

1条回答

  • threenewbee 2019-10-07 23:18
    关注

    眼睛不好,看不清楚题目
    https://download.csdn.net/download/qq_41950696/10653912
    这里有答案

    建议你首先下断点检查哪里耗时很长,还有检查你文本文件的内容,用记事本打开,另存为,编码选择ansi

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题