石大远程在线考试《数据结构课程设计》_85201441854054813.doc

石大远程在线考试《数据结构课程设计》_85201441854054813.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
石大远程在线考试《数据结构课程设计》_85201441854054813

中国石油大学(北京)远程教育学院 期 末 考 试 typedef struct{ int i; //非零元的行下标 int j; //非零元的列下标 int e; //矩阵非零元 }Triple; 稀疏矩阵采用三元组顺序表存储: #define MSXSIZE 12500 //假设非零元个数的最大值为200 #define MAXRC 10 //假定矩阵的最大行数为10 typedef struct { int mu ; //矩阵的行数 int nu ; //矩阵的列数 int tu ; //矩阵的非零元素个数 Triple data[MAXSIZE+1]; //非零元三元组表,data[0]没有用 int rpos[MAXRC+1]; //各行第一个非零元素的位置表 }Tabletype; 系统主要函数及功能如下: Menu( ):主控菜单,接收用户的选项; Input_Matrix( ):输入矩阵; Print_matrix( ):输出矩阵; Cal_matrix( ):计算矩阵每行第一个非零元在三元组中的位序号; TransposeMatrix( ):矩阵转置; Add_Matrix( ):矩阵加法运算; Sub_Matrix( ):矩阵减法运算; Multi_Matrix( ):矩阵乘法运算。 模块的调用关系如图1所示。 图1 程序调用模块示意图 2.3详细设计 1. 主函数设计 //***************************************** //* 矩阵运算主函数 * //***************************************** 主函数中,实现用户菜单菜单的打印,并根据用户的选项执行相应的功能,主函数力求简洁、清晰。 void main( ) { num=Menu(); //打印主菜单 while(num) { switch(num) { case 1: Multi_Matrix(); //矩阵相乘 break; case 2: TransposeMatrix(); //矩阵转置 break; case 3: Add_Matrix(); //矩阵加法 break; case 4: Sub_Matrix(); //矩阵减法 case 0: break; }//switch num=Menu(); }//while } 2. 主菜单设计 主控菜单是用来输出提示信息和处理输入,此函数返回用户的选项,提供给main函数中的switch语句。对于不符合要求的选项,提示输入错误并要求用户重新输入。将此函数与main函数合在一起,编译运行程序,即可检查并验证菜单选项是否正确。 主菜单如下: //***************************************** //* 打印主控菜单函数 * //***************************************** int menu( ) { printf(\n 主菜单); printf(\n*********************); printf(\n 1. 矩阵乘法); printf(\n 2. 矩阵转置); printf(\n 3. 矩阵加法); printf(\n 4. 矩阵减法); printf(\n 0. 退出); printf(\n*********************); scanf(%d,num); while(num0||num4) //输入非法,重新输入 scanf(%d,num); return num; } 3. 矩阵乘法运算函数 //***************************************** //* 矩阵乘法运算算法 * //***************************************** Status Multi_Matrix() { Input_Matrix(a); //输入矩阵a Input_Matrix(b); //输入矩阵b Cal_matrix(a); //计算矩阵a每行第一个非零元的位序号 Cal

文档评论(0)

haocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档