69,373
社区成员
发帖
与我相关
我的任务
分享
#include "time.h"
#include "stdlib.h"
#include "stdio.h"
#define MAX 300
double a[MAX][MAX]={0},b[MAX][MAX]={0},c[MAX][MAX]={0};
int main(int argc, char* argv[])
{
FILE *infile,*outfile;
if((infile=fopen("in.txt","r"))==NULL)
{
fprintf(stderr,"in.txt open Error!\n");
return -1;
}
if((outfile=fopen("out.txt","w"))==NULL)
{
fprintf(stderr,"out.txt open Error!\n");
return -1;
}
int M=0,K=0,N=0;//接受矩阵行列数
fscanf(infile,"M1=%d*%d M2=%d*%d",&M,&K,&K,&N);
srand((unsigned)time(NULL)); //随机数种子
int i,j,k;
for( i=0;i<M;i++)
for( j=0;j<K;j++)
{
a[i][j]=rand()/(rand()/100.5);
}
for(i=0;i<K;i++)
for( j=0;j<N;j++)
{
b[i][j]=rand()/(rand()/100.5);
}
for( i=0;i<M;i++)
for( j=0;j<N;j++)
for(k=0;k<K;k++)
c[i][j]+=a[i][k]*b[k][j];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
fprintf(outfile,"%0.6f ",c[i][j]);
fclose(infile);
fclose(outfile);
return 0;
}
printf("%.3f",A);
system("pause");
main函数后面得有个返回吧
整体来说,这代码都蛮不错的。
return 0;