LINUX大作业(北邮信息工程2024年春)(2)

2025-09-09

`

for(i = 0; i < a; i++) {

Matrix[i] = (int *) malloc(sizeof(int) * b); }

return Matrix; }

void Reset(int** Matrix, int m, int n) {

for(i = 0; i < m; i++) {

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

Matrix[i][j] = 0; } } }

void Input(int** Matrix, int m, int n, FILE *fp) { for(i = 0; i < m; i++) {

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

fscanf(fp,\ } } }

void initialize() { FILE *fp1,*fp2; if((fp1=fopen(\ { printf(\ exit(0); } fscanf(fp1,\ A=Create(m,n); Input(A,m,n,fp1); fclose(fp1); if((fp2=fopen(\ { printf(\

`

exit(0); } fscanf(fp2,\ if(n1!=n) { exit(0); } B=Create(n,k); Input(B,n,k,fp2); fclose(fp2); C=Create(m,k); Reset(C,m,k); }

void save() { FILE *fp; if((fp=fopen(\ { printf(\ } for(i = 0; i < m; i++) {

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

fprintf(fp,\ } fprintf(fp,\ } fclose(fp); }

void print() { printf(\ for(i=0;i

`

{ printf(\ for(j=0;j

main.c文件:

#include \

int main() { initialize(); MatrixMutiply(); print(); getchar(); save(); return 0; }

function.h文件:

#ifndef _FUNCTION_H_ #define _FUNCTION_H_

#include #include

void initialize(); void save();

void MatrixMutiply(); void print();

#endif

Makefile文件: all: g++ -o MATRIX function.c function.h main.c

`

clean: rm *.o

(注:要测试程序,把这些文件和输入文件in1.file和in2.file拷到一个目录,在终端窗口中进入该目录后执行make命令,随后便可生成可执行文件MATRIX)

对本大作业答案的一些说明:

(1) 本大作业答案针对2012年春季Linux操作系统选修课期末大作业编写,部分内容参

考了thomasjiao编写的《LINUX系统与程序设计大作业答案(2011年春)》,网址:http://wenku.http://www.wodefanwen.com//view/802bc2c2aa00b52acfc7caef.html,该答案中存在几个错误或不完善的地方,在我的答案里都已经改正;

(2) 本答案适用于北京邮电大学信息与通信工程学院信息工程的专业基础选修课

《LINUX操作系统》,其他专业开设的LINUX课程可能不采取这样的考察形式;

(3) 除第三题外,所有程序和操作步骤均已经进行过测试,测试环境:Red Hat Enterprise

Linux Server 6.2(虚拟机)。

附录:

以下给出部分2011年LINUX大作业出现的题目及答案,它们均来自thomasjiao编写的《LINUX系统与程序设计大作业答案(2011年春)》。这些题目没有出现在2012年的大作业中,我没有测试这些答案的正确性。

1.编写my_cp.sh脚本,功能是把一个文件拷贝到另一文件。其有两个参数,一个作为输入文件(source),一个作为输出文件(destination)。脚本需满足下面一些条件:

(1)确保输入的两个参数不重名;

(2)验证输出文件(destination)是一个文件,而不是目录; (3)验证输入文件(source)文件存在;

(4)检查输出文件是否存在,若存在,则询问用户是否覆盖。 -------------------------------------------

#! bin/sh sign=1 if

[ \then

echo \exit 1

fi #if 1 , check the amount of the arguments. if [ ! -f \then

echo \exit 1

fi #if 2 , check if the source file exists. if

`

[ \then

echo \exit 1

fi #if 3 , check the amount of the arguments. if

echo \then continue else

echo \exit 1

fi #if 4, check if the destination is a invalid file name if [ -f \then

while [ $sign -eq 1 ] do

echo \read YesOrNo case \y) cp $1 $2

echo \echo \sign=0 continue ;; Y) cp $1 $2

echo \echo \sign=0 continue ;; n) sign=0 break ;; N) sign=0 break


LINUX大作业(北邮信息工程2024年春)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江南大学高分子化学

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219