C语言之文件操作04——输入矩阵a,b,求乘积c,并打印a,b,c到文件
//文件与数组结合
/*
=================================================================
题目:输入矩阵a,b,求乘积c,并打印a,b,c到D盘文件x.txt,并在屏幕显示。
说明:必须满足a的列=b的行。
=================================================================
*/
#include<stdio.h>
#include<stdlib.h>
#define M 2
#define N 3
void main()
{
FILE *fp;
int a[M][N],b[N][M],c[N][N];
int i,j,k=0;
fp=fopen("D:\\x.txt","w");
if(fp==NULL)
printf("文件打开失败!
\n");
else
{
//输入矩阵a
printf("矩阵a(%dx%d):\n",M,N);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
}
//输入矩阵b
printf("矩阵b(%dx%d):\n",N,M);
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
scanf("%d",&b[i][j]);
}
system("cls");
//输出矩阵a
printf("a=\n");
fprintf(fp,"a=\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
printf("%3d ",a[i][j]);
fprintf(fp,"%3d ",a[i][j]);
}
fprintf(fp,"\n");
printf("\n");
}
//输出矩阵b
printf("b=\n");
fprintf(fp,"b=\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
printf("%3d ",b[i][j]);
fprintf(fp,"%3d ",b[i][j]);
}
fprintf(fp,"\n");
printf("\n");
}
//计算矩阵c
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][k]*b[k][j];
}
}
//输出矩阵c
printf("c=\n");
fprintf(fp,"c=a*b=\n");
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
printf("%3d ",c[i][j]);
fprintf(fp,"%3d ",c[i][j]);
}
printf("\n");
fprintf(fp,"\n");
}
}
fclose(fp);
}
/*
========================================================================
评:
将文件fprintf(fp,"%3d",a[i][j])与一般文件printf相同理解就可以!
========================================================================
*/
C语言之文件操作04——输入矩阵a,b,求乘积c,并打印a,b,c到文件的更多相关文章
- Java文件操作与输入输出流
文件操作 package ch15; import java.io.*; /** * Created by Jiqing on 2016/12/28. */ public class FileTest ...
- 文件操作mode学习总结-----Python学习总结【第四篇】:Python之文件操作(文件、正则、json、pickle)
非常全的博客,防丢链接参考https://www.cnblogs.com/madsnotes/articles/5521551.html 1.文件操作 1.1 操作流程 1)文件打开 2)文件操作 3 ...
- C语言之文件操作08——总结
C程序的文件操作共涵盖7个例题,包括格式打印,文件读取,条件查找,矩阵的文件操作,数据格式输入及调用计算等内容. 文件操作使得程序有更强的拓展性,使其能够单独保存数据.这为程序的调试和优化打下了坚实的 ...
- C语言之文件操作06——写数据到文本文件遇0停止
//文件 /* =============================================================== 题目:输入10个篮球运动员的身高数据(cm)保存至D盘文 ...
- Linux C 文件操作函数(~上善止水~)
翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...
- Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作
matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...
- 员工管理系统+字符编码+Python代码文件操作
员工管理系统+字符编码+Python代码文件操作 1.员工管理系统 1.1 debug 代码调试 1.先使用鼠标左键在需要调试的代码左边点击一下(会出现一个红点)2.之后右键点击debug运行代码 ...
- Matlab的部分文件操作
Author:Maddock Date:2015-01-20 判断文件是否存在 infilename = [str,'\lena.jpg']; sgc_exist = exist(infilename ...
- Python 第三天 文件操作(2)
文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和 fi ...
随机推荐
- (56) 解决字段设为readonly无法保存
问题描述:当一个字段设为readonly =True 后,在form表单,即使你用onchange方法改变了值但也不能保存到数据库当时.平时在这样的要求,form表单有些字段要展示给用户,但又要达到不 ...
- bitset优化背包
题目:https://agc020.contest.atcoder.jp/tasks/agc020_c 回忆下一题,是零一背包,主要的做法就是凑出最接近sum/2的价值,然后发现现在的背包的容量是20 ...
- Java并发和多线程1:并发框架基本示例
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括ThreadPool,Executor,Executors,ExecutorService,Com ...
- css不定高度实现垂直居中
1.不知道自己高度和父容器高度的情况下, 利用绝对定位只需要以下三行: parentElement{ position:relative; } childElement{ position: abso ...
- java方法名的重载
方法的重载:方法名相同,参数不同,按照参数类型进行匹配 创建一个Simple 类,然后定义了两个方法 package cuteSnow; public class Simple { // 方法的重载, ...
- 《从零開始学Swift》学习笔记(Day 46)——下标重写
原创文章.欢迎转载.转载请注明:关东升的博客 下标是一种特殊属性. 子类属性重写是重写属性的getter和setter訪问器,对下标的重写也是重写下标的getter和setter訪问器. 以下看一个演 ...
- 数据结构 - 树形选择排序 (tree selection sort) 具体解释 及 代码(C++)
树形选择排序 (tree selection sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 算法逻辑: 依据节点的大小, ...
- ES task管理
Task Management API The Task Management API is new and should still be considered a beta feature. Th ...
- vue中的swiper element ui
欢迎加入前端交流群交流知识&&获取视频资料:749539640 很多同学问,怎么把swiper引入到vue的脚手架里去,之前的一篇博客有提到怎么引入,但是后来感觉不怎么好,还是用一些v ...
- 初识Git(一)
以前经常听到Git,作为一个菜鸟级自学选手从没有真正去了解Git,借刘铁猛老师在油管上的<对答如刘>初步认识了git,作以下记录. 1.初始化一个git管理的文件夹 首先我在我的电脑C盘P ...