矩阵(数据)的读取方法

//数据读取/*===============================================================题目:从test.txt中读出矩阵A,B,并计算它们的乘积,输出到屏幕!===============================================================*/#include<stdio.h>#define M 3#define N 5void main(){FILE *fp;int a[M][N],b[N][M],c[M][M];int i,j,k;fp=fopen("D:\\test.txt","r");if(fp==NULL)printf("文件打开失败!\n");else{//读入A,就像正常写入一样,,把scanf换成fscanfprintf("读取矩阵A:\n");for(i=0;i<M;i++)for(j=0;j<N;j++)fscanf(fp,"%d",&a[i][j]);for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3d ",a[i][j]);printf("\n");}//读入B,就像正常写入一样,把scanf换成fscanfprintf("读取矩阵B:\n");for(i=0;i<N;i++)for(j=0;j<M;j++)fscanf(fp,"%d",&b[i][j]);for(i=0;i<N;i++){for(j=0;j<M;j++)printf("%3d ",b[i][j]);printf("\n");}fclose(fp);//二维矩阵的乘法printf("矩阵A与B乘积:\n");for(i=0;i<M;i++)for(j=0;j<M;j++){c[i][j]=0;for(k=0;k<N;k++)c[i][j]+=a[i][j]*b[j][i];}//输出for(i=0;i<M;i++){for(j=0;j<M;j++)printf("%5d ",c[i][j]);printf("\n");}}}/*========================================================================评:

二维数组的读取实际上还是一个一个的取出数字,即a[i][j];fscanf(fp,"%d",&a[i][j]);另外要注意读

出时用“r”!保存数据时尽可能不要参杂其他字符,一组数据用一个文件单独保存,以保证数据的可

读性。

========================================================================

*/

版权声明:博主文章可以被非商用转载,但请务必注明出处,因水平有限,难免出错,在此免责。

而消极的人则在每个机会都看到某种忧患。

矩阵(数据)的读取方法

相关文章:

你感兴趣的文章:

标签云: