【在线等】c语言程序:定义一个二维数组int m[3][3],【并初始化,完整题目如下】

定义一个二维数组int m[3][3],并初始化,将数组各元素存入磁盘文件data,dat中,再读出文件data,dat中的数据,显示于屏幕。

#include<stdio.h>

void main()

{

FILE*fp;

int i,j,m[3][3],t;

fp=fopen("data.dat","w");

    for(i=0;i<3;i++)

{ for(j=0;j<3;j++)

{scanf("%d",&m[i][j]);

fprintf(fp,"%d ",m[i][j]);

}

fprintf(fp,"%c",'\n');

    }

fclose(fp);

fp=fopen("data.dat","r");

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

{  fscanf(fp,"%d",&t);

   printf("%d ",t);

}

printf("\n");

}

fclose(fp);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-22
#include <stdio.h>

int main(void)
{  
    // 为了简单,定义的时候直接初始化数据了, 你也可以自己输入或用随机数等方式. 
    int m[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};      
    FILE *fp;
    
    // 写入操作
    fp = fopen("data", "w");        // 以只写方式打开文件
    fwrite(m, sizeof(m), 1, fp);    // 写入数据
    fclose(fp);                     // 关闭文件
    
    // 打开操作
    int newm[3][3];    
    int i, j;
    
    fp = fopen("data", "r");        // 以只读方式打开文件
    fread(newm, sizeof(newm), 1, fp);    // 读入数据
    fclose(fp);
    
    // 输出读入的数据
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            printf("%d ", newm[i][j]);
        }
        puts("");
    }
  
    return 0;   
}

本回答被提问者采纳
第2个回答  2013-06-22
#include <stdio.h>
main()
{
int i,j,m[3][3];
FILE *fp;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
scanf("%d",&m[i][j]);
fp = fopen("data.dat","w");
fwrite(&m,sizeof(int),9,fp);
fclose(fp);
fp = fopen("data.dat","r");
fread(&m,sizeof(int),9,fp);
fclose(fp);
for (i=0;i<3;i++)
for (j=0;j<3;j++)
printf("%d ",m[i][j]);
}

第3个回答  2013-06-22
#include <iostream>
#include <fstream>
using namespace std;

int main(){
    ofstream fout("data.dat");
    int m[3][3] = {};
    for(int i = 0; i < 3; ++i)
        for(int j = 0; j < 3; ++j)
            fout << m[i][j] << ' ';
    fout.close();
    ifstream fin("data.dat");
    for(int i = 0; i < 3; ++i)
        for(int j = 0; j < 3; ++j)
            fin >> m[i][j];
    for(int i = 0; i < 3; ++i)
        for(int j = 0; j < 3; ++j)
            cout << m[i][j] << ' ';
    fout.close();
    return 0;
}

追问

c:\users\administrator.yannis.000\desktop\cpp1.cpp(1) : fatal error C1083: Cannot open include file: 'iostream': No such file or directory
执行 cl.exe 时出错.

Cpp1.exe - 1 error(s), 0 warning(s)

追答

这个是C++程序,你用的编译器是C吧。

追问

能用c语言帮我编写一下吗

追答

好吧……我不会C的文件操作……

但是不对啊,你要写C的文件为什么使用cpp的代码文件?