数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题大学论文Word文件下载.docx
- 文档编号:14765425
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:29
- 大小:156.23KB
数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题大学论文Word文件下载.docx
《数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题大学论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计报告1数组实现两个矩阵的相乘运算2成绩分析问题大学论文Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
4
2.3[详细设计]4
2.4[调试分析]5
2.5[运行结果及分析]6
三、课程设计题目二6
成绩分析问题6
3.1[问题描述]6
3.2[概要设计]7
3.3[存储结构]7
3.4[流程图]7
3.5[详细设计]8
3.6[调试分析]8
3.7[运行结果及分析]22
四、参考文献:
25
一、课程设计概述
本次数据结构课程设计共完成两个题:
用数组实现两个矩阵相乘运算、成绩分析问题。
使用语言:
C
编译环境:
vc6.0
二、课程设计题目一
用数组实现两个矩阵的相乘运算
2.1[问题描述]
#include“stdio.h”
intr[6][6];
voidmult(inta[6][6],intb[6][6]){}
main(){
inti,j;
intnum1[6][6],num2[6][6];
printf(“请输入第一个矩阵的值:
”,);
for(i=1;
i<
=6;
i++)
for(j=1;
j<
j++)
scanf(“%d”,&
num1[i][j]);
printf(“请输入第二个矩阵的值:
num2[i][j]);
mult(num1,num2);
printf(“\n两个矩阵相乘后的结果为:
”);
{for(j=1;
printf(“%4d”,r[i][j]);
printf(“\n”);
}
1、要求完善函数mult(),
2、现有A,B两个矩阵,要求用上述程序求出A与B相乘后的运行结果,
413690310124
731421131052
010291192130
A=410260B=912400
121015300101
300512210689
2.3[详细设计]
#include<
stdio.h>
//得到的结果矩阵
voidmult(inta[6][6],intb[6][6]){
inti,j;
intk;
intsum;
for(i=0;
i<
6;
i++){
for(j=0;
j<
j++){
sum=0;
for(k=0;
k<
k++){
sum+=a[i][k]*b[k][j];
}
r[i][j]=sum;
}
}
}
printf("
请输入第一个6*6矩阵的值:
\n"
);
for(i=0;
6;
i++){
for(j=0;
j++){
scanf("
%d"
&
请输入第二个6*6矩阵的值:
\n两个矩阵相乘后的结果为:
i++){
for(j=0;
printf("
%4d"
r[i][j]);
}
printf("
2.4[调试分析]
问题一:
现象:
输入的时候输入七行共42个数据才到下一个矩阵的输入
原因:
在scanf的时候,scanf("
%d后面多了一个空格
2.5[运行结果及分析]
三、课程设计题目二
成绩分析问题
3.1[问题描述]
录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。
[需求分析]
1.通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat
2.对文件input.dat中的数据进行处理,要求具有如下功能:
a.按各门课程成绩排序,并生成相应的文件输出
b.计算每人的平均成绩,按平均成绩排序,并生成文件
c.求出各门课程的平均成绩、最高分、最低分、不及格人数、
60-69分人数、70-79分人数、80-89分人数、90分以上人数
d.根据姓名或学号查询某人的各门课成绩,重名也要能处理
3.界面美观
[测试数据]
学号
姓名
数学
英语
计算机
001
王放
78
77
90
002
张强
89
67
88
003
李浩
56
66
004
黄鹂兵
86
85
005
76
006
陈利风
45
54
007
尚晓
70
3.2[概要设计]
-=ADT=-
{
voidmenu();
//菜单
voidshow(studentstu[],intn);
//显示学生数据
voidreadFile(studentstu[],intn);
//读取数据
voidmath(studentstu[],intn);
//对数学成绩排序
voidenglish(studentstu[],intn);
//对英语成绩排序
voidcomputer(studentstu[],intn);
//对计算机成绩排序
voidaverage(studentstu[],intn);
//对平均成绩排序
intdegree(intnum);
//等级分级
voidscoreAnalyse(studentstu[],intn);
//成绩分析
voidsearch_no(studentstu[],intn);
//按照学号查找
voidsearch_name(studentstu[],intn);
//按照姓名查找
voidcloseSystem();
//关闭程序
)
3.3[存储结构]
typedefstruct
{
charno[12];
//学号
charname[16];
//姓名
intmath;
//数学成绩
intenglish;
//英语成绩
intcomputer;
//计算机成绩
intaverage;
//平均成绩
}student;
3.4[流程图]
N
Y
3.5[详细设计]
#include<
string.h>
#defineN7
staticintnum=0;
//已录入的学生人数
staticintselect=0;
//输入选择的菜单项
charno[12];
charname[16];
intmath;
intenglish;
intcomputer;
intaverage;
}student;
studentstu[N];
//定义结构体数组
studentstud[N];
//备份结构体数组用来排序
//*************菜单等方法的原型声明*************
voidwriteFile(studentstudents[],intn);
//写入学生数据
voidreadFile(intn);
//读取学生数据
//*************主函数*************
voidmain()
//定义学生体,存放键盘输入的学生信息
studentstudents[N];
//向文件输入学生的数据
writeFile(students,7);
//从文件读取学生数据
readFile(7);
while
(1)
menu();
//输入菜单项
select);
switch(select)
{
case1:
math(stu,7);
break;
case2:
english(stu,7);
case3:
computer(stu,7);
case4:
average(stu,7);
case5:
scoreAnalyse(stu,7);
case6:
search_no(stu,7);
case7:
search_name(stu,7);
case8:
show(stu,N);
case0:
closeSystem();
default:
printf("
错误的数据\n"
//*************写入学生数据*************
voidwriteFile(studentstudents[],intn)
inti;
FILE*fi;
//键盘输入学生的成绩
n;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 报告 数组 实现 两个 矩阵 相乘 运算 成绩 分析 问题 大学 论文