zhouzhou2030 2021-09-09 13:33 采纳率: 100%
浏览 136
已结题

C语言如何scanf一个二维数组【9】【9】

就在写代码的时候,如果想要scanf一个文件夹里存储的【9】【9】的二维数组,我就能知道用putchar把它打印出来但是想要用loop去改写文件具体一步能给点建议吗

  • 写回答

2条回答 默认 最新

  • 赵4老师 2021-09-09 14:10
    关注
    
    #pragma warning(disable:4996) //开头加这句或项目、属性、配置属性、C/C++、预处理器、预处理器定义中添加“_CRT_SECURE_NO_WARNINGS”
    #include <stdio.h>
    int main() {
        char filename[256];
        int a[9][9];
        int y,x;
        FILE *f;
    
        for (y=0;y<9;y++) {
            for (x=0;x<9;x++) {
                a[y][x]=y*9+x+1;
            }
        }
    
        for (y=0;y<9;y++) {
            for (x=0;x<9;x++) {
                printf("a[%d][%d]:%2d  ",y,x,a[y][x]);
            }
            printf("\n");
        }
    
        for (y=0;y<9;y++) {
            sprintf(filename,"D:\\mydir\\data%d.txt",y+1);//假定9x9的二维整数数组每行分D:\mydir\data1~9.txt九个文件保存,每个文件中包含空格间隔的九个整数
            f=fopen(filename,"r");
            if (NULL==f) {
                printf("Can not open file %s\n",filename);
                continue;
            }
            for (x=0;x<9;x++) {
                if (1!=fscanf(f,"%d",&a[y][x])) {
                    printf("Can not read number %d from file %s\n",x+1,filename);
                }
            }
            fclose(f);
        }
    
        for (y=0;y<9;y++) {
            for (x=0;x<9;x++) {
                printf("a[%d][%d]:%2d  ",y,x,a[y][x]);
            }
            printf("\n");
        }
    
        return 0;
    }
    //a[0][0]: 1  a[0][1]: 2  a[0][2]: 3  a[0][3]: 4  a[0][4]: 5  a[0][5]: 6  a[0][6]: 7  a[0][7]: 8  a[0][8]: 9
    //a[1][0]:10  a[1][1]:11  a[1][2]:12  a[1][3]:13  a[1][4]:14  a[1][5]:15  a[1][6]:16  a[1][7]:17  a[1][8]:18
    //a[2][0]:19  a[2][1]:20  a[2][2]:21  a[2][3]:22  a[2][4]:23  a[2][5]:24  a[2][6]:25  a[2][7]:26  a[2][8]:27
    //a[3][0]:28  a[3][1]:29  a[3][2]:30  a[3][3]:31  a[3][4]:32  a[3][5]:33  a[3][6]:34  a[3][7]:35  a[3][8]:36
    //a[4][0]:37  a[4][1]:38  a[4][2]:39  a[4][3]:40  a[4][4]:41  a[4][5]:42  a[4][6]:43  a[4][7]:44  a[4][8]:45
    //a[5][0]:46  a[5][1]:47  a[5][2]:48  a[5][3]:49  a[5][4]:50  a[5][5]:51  a[5][6]:52  a[5][7]:53  a[5][8]:54
    //a[6][0]:55  a[6][1]:56  a[6][2]:57  a[6][3]:58  a[6][4]:59  a[6][5]:60  a[6][6]:61  a[6][7]:62  a[6][8]:63
    //a[7][0]:64  a[7][1]:65  a[7][2]:66  a[7][3]:67  a[7][4]:68  a[7][5]:69  a[7][6]:70  a[7][7]:71  a[7][8]:72
    //a[8][0]:73  a[8][1]:74  a[8][2]:75  a[8][3]:76  a[8][4]:77  a[8][5]:78  a[8][6]:79  a[8][7]:80  a[8][8]:81
    //Can not open file D:\mydir\data1.txt
    //Can not open file D:\mydir\data2.txt
    //Can not open file D:\mydir\data3.txt
    //Can not open file D:\mydir\data4.txt
    //Can not open file D:\mydir\data5.txt
    //Can not open file D:\mydir\data6.txt
    //Can not open file D:\mydir\data7.txt
    //Can not open file D:\mydir\data8.txt
    //Can not open file D:\mydir\data9.txt
    //a[0][0]: 1  a[0][1]: 2  a[0][2]: 3  a[0][3]: 4  a[0][4]: 5  a[0][5]: 6  a[0][6]: 7  a[0][7]: 8  a[0][8]: 9
    //a[1][0]:10  a[1][1]:11  a[1][2]:12  a[1][3]:13  a[1][4]:14  a[1][5]:15  a[1][6]:16  a[1][7]:17  a[1][8]:18
    //a[2][0]:19  a[2][1]:20  a[2][2]:21  a[2][3]:22  a[2][4]:23  a[2][5]:24  a[2][6]:25  a[2][7]:26  a[2][8]:27
    //a[3][0]:28  a[3][1]:29  a[3][2]:30  a[3][3]:31  a[3][4]:32  a[3][5]:33  a[3][6]:34  a[3][7]:35  a[3][8]:36
    //a[4][0]:37  a[4][1]:38  a[4][2]:39  a[4][3]:40  a[4][4]:41  a[4][5]:42  a[4][6]:43  a[4][7]:44  a[4][8]:45
    //a[5][0]:46  a[5][1]:47  a[5][2]:48  a[5][3]:49  a[5][4]:50  a[5][5]:51  a[5][6]:52  a[5][7]:53  a[5][8]:54
    //a[6][0]:55  a[6][1]:56  a[6][2]:57  a[6][3]:58  a[6][4]:59  a[6][5]:60  a[6][6]:61  a[6][7]:62  a[6][8]:63
    //a[7][0]:64  a[7][1]:65  a[7][2]:66  a[7][3]:67  a[7][4]:68  a[7][5]:69  a[7][6]:70  a[7][7]:71  a[7][8]:72
    //a[8][0]:73  a[8][1]:74  a[8][2]:75  a[8][3]:76  a[8][4]:77  a[8][5]:78  a[8][6]:79  a[8][7]:80  a[8][8]:81
    //
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月17日
  • 已采纳回答 9月9日
  • 创建了问题 9月9日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制