二维数组的应用(下)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.数组 int score[N][3];存储三门课程的成绩
2.数组 float aver[N];存储平均成绩
思考:
三门课程的成绩和平均成绩能否采取一个数组存放呢?
三门课程的成绩和平均成绩能否采取结构体数组存放呢?
C语言程序设计
谢谢大家!
}} }
score[k][m]=a;
第7章 数组——二维数组的典型应用
/*输出部分代码*/ printf("the sorted score is :\n"); for(i=0;i<n;i++) {
for(j=0;j<3;j++) printf("%d ",score[i][j]);
printf("%.2f\n",aver[i]); }
C 语言程序设计
第7章 数组 ——二维数组的应用(下)
主讲人:王 燕
第7章 数组——二维数组的典型应用
C语言程序设计
一维数组:数据类型 数组名[数组大小]={初始值列表};
二维数组:数据类型 数组名[行数][列数]={初始值列表};
第7章 数组——二维数组的典型应用
C语言程序设计
例:从键盘输入8个学生三门课程的成绩求每个学生各门课 的平均分,并按平均分从高到低的顺序输出每个学生各 门课程的成绩和平均成绩。 问题分析:
aver[4] 9814.03
for(m=0;m<3;m++) { score[i][m] ←→ score[k][m] }
第7章 数组/*输—入—部二分维代数码组*的/ 典型应用 for(i=0;i<n;i++) { for(j=0;j<3;j++) } scanf("%d",&score[i][j]);
问题分析: 操作方式:
1. 从键盘输入每个学生各门课的成绩,并存入 数组score[ ][3];
2. 计算出平均成绩并存入数组aver[ ] 3. 按平均成绩对各门课程成绩进行排序 4. 输出排序后的score,aver数组
第7章 数组——二维数组的典型应用
C语言程序设计
例:从键盘输入8个学生三门课程的成绩求每个学生各门课 的平均分,并按平均分从高到低的顺序输出每个学生各 门课程的成绩和平均成绩。
C语言程序设计
第7章 数组/*主—函—数二部维分数代组码的*典/ 型应用
C语言程序设计
#include <stdio.h>
#define N 100
main()
{ int n, i, j, j, m;
int score[N][3], a;
float aver[N], t;
printf("please input the total number: ");
scanf("%d",&n);
/*输入部分代码*/
/*计算平均值部分代码*/
/*排序部分代码*/
/*输出部分代码*/ }
第7章 数组——二维数组的典型应用
C语言程序设计
例:从键盘输入8个学生三门课程的成绩求每个学生各门课 的平均分,并按平均分从高到低的顺序输出每个学生各 门课程的成绩和平均成绩。
存储方式:
存储方式:
1. 数组 int score[N][3];存储三门课程的成绩
2. 数组 float aver[N];存储平均成绩
第7章 数组——二维数组的典型应用
C语言程序设计
例:从键盘输入8个学生三门课程的成绩求每个学生各门课 的平均分,并按平均分从高到低的顺序输出每个学生各 门课程的成绩和平均成绩。
{ k=i;
for(j=i+1;j<n;j++)
{ if(aver[k]<aver[j])
k=j; }
if(k!=i)
{ t=aver[i]; aver[i]=aver[k]; aver[k]=t;
for(m=0;m<3;m++)
{ a=score[i][m];
score[i][m]=score[k][m];
/*计算平均值部分代码*/ for(i=0;i<n;i++) {
sum=0; for(j=0;j<3;j++)
sum+=score[i][j]; } aver[i]=sum/3.0;
C语言程序设计
第7章 数组/*排—序—部二分维代数码组*的/ 典型应用 for(i=0;i<n-1;i++)
C语言程序设计
aver[1] 34.3
scoLeabharlann Baidue[2] 70 63 69 交换 aver[2] 67.3 交换
score[3] 80 70 93
aver[3] 81.0
score[4] 989 8708 8937
排序过程成绩的交换:
score[i][0] ←→ score[k][0] score[i][1] ←→ score[k][1] score[i][2] ←→ score[k][2] aver[i] ←→aver[k]
问题分析: 排序方法:
1. 简单选择排序 2. 冒泡排序等 排序注意: 交换时应整行交换
第7章 数组——二维数组的典型应用 int score[5][3]
score[0] 899 7880 9837
C语言程序设计
float aver[5] aver[0] 8941.30
score[1] 50 20 33