「已注销」 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 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题