`
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 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 百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典教育范文LINUX大作业(北邮信息工程2024年春)(2)在线全文阅读。
相关推荐: