《C语言》中如何从文件读取矩阵?

 我来答
L_o_o_n_i_e
2018-02-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5165万
展开全部
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fin;
int j,i,m;
int **D;
if ( (fin = fopen("a.dat","r"))==NULL){
printf("can not open data file\n");
exit(0);
};
fscanf(fin,"%d",&m);
D = (int **) malloc(sizeof(int *) *m);
for (j=0;j<m;j++){
D[j] = (int *) malloc(sizeof(int) * m);
}
for (j=0;j<m;j++){
for (i=0;i<m;i++) {
if ( i<=j ) {D[j][i] = 0;} else fscanf(fin,"%1d",&D[j][i]);
}
}
fclose(fin);

for (j=0;j<m;j++){
for (i=0;i<m;i++) {
if ( i<j ) D[j][i]=D[i][j];
}
}
printf("n=%d\n",m);
for (j=0;j<m;j++){
for (i=0;i<m;i++) printf("%d ",D[j][i]);
printf("\n");
}
}
==============
n=5
0 1 0 0 1
1 0 2 0 0
0 2 0 1 0
0 0 1 0 2
1 0 0 2 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何曼婷囖514a682
2018-05-29 · TA获得超过1.6万个赞
知道大有可为答主
回答量:2138
采纳率:82%
帮助的人:157万
展开全部
  1. 确定文件名。

  2. 打开文件,使用fopen函数。fopen("文件名", “r”)。

  3. 根据约定的文件格式,包括文件中矩阵规模,元素的类型,以及元素分隔的符号,采用fscanf函数循环读入矩阵。

  4. 判断文件是否读完,如未读完,重复第三步直到读完。

  5. 关闭文件。

C语言的优点:

  1. 简洁紧凑、灵活方便,C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

  2. 运算符丰富 ,C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

  3. 数据结构丰富 ,C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式