7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)

2023-07-31
| 17页
| 191人阅读
| 5人下载
普通

内容正文:

任务二 输入10名选手的名字并保存 对于选手的名字,应该将其作为字符串存储,如char s[10]; 但是对于多名选手,要定义多个字符数组很不方便。应使用二维数组。定义一个字符数组的数组来存储多名选手的名字 char names[10][10]; “names[0]”,“names[1]”,…“names[9]”是字符数组的数组名,分别存放第1个选手名字“zhang”,第2个选手的姓名“li”,…第10个选手的名字。 names[0] names[1] names[2] …… 数组names的结构如图所示 z h a n g s a n \0 l i s i \0 w a n g w u \0 … … … … main() { char names[10][10]; /*定义二维字符数组存放选手名字*/ int i; for(i=0;i<10;i++) { printf("please input the name of the No. %d singer ",i+1); /*提示用户输入编号为i+1的选手的名字*/ gets(names[i]); /*将用户输入的字符串作为该选手的名字*/ } } 任务三 输入评委给每位选手打的分 如果要存储10位选手的所有成绩,定义10个一维数组是不方便的,需要利用数组的数组,也就是二维数组作为数据类型,也就是如下定义: int score[10][7]; 其中,score[i][j]对应第j+1位评委对第i+1名选手的评分,i的取值范围为0~9,j的取值范围为0~6。 “score[i]”是一个一维数组,它是二维数组score中的一个元素。每位评委为第i名选手打分要依次放在score[i]的各元素score[i][0]…score[i][6]中。 用户输入数据后,数组“score[i]”的内容如图所示。 score[i] 76 85 83 79 70 91 81 下标 0 1 2 3 4 5 6 任务四 找到每位选手的最高分 10名选手的成绩存放在数组score中,找出选手i的成绩最高分相当于就是找出数组“score[i]”中的最大值。那么如何确定数组的最大值呢? 寻找最大值的过程 首先假定“score[i]”的第1个元素“score[i][0]”元素为当前的最大值,记录在变量“max[i]”中。 然后拿这个最大值去和“score[i]”的其余元素“score[i][j]”顺序比较,如果“score[i][j] > max[i]”,说明“score[i][j]”比“max[i]”更有可能成为最大值,所以将“score[i][j]”作为最大值存储在变量“max[i]”中。 将新的“max[i]”继续和剩余元素比较,然后重复执行步骤2,直到全部元素都已经比较过。由于“max[i]”的值会随着比较而不断更新成更大的元素值,所以最后存在“max[i]”里的内容就是数组里真正的最大值。 首先将“max[i]”的初值设置为“score[i][0]”,代码如下: max[i] = score[i][0]; 然后编写和“score[i][j]”比较的过程,代码如下: if(score[i][j] > max[i]) max[i] = score[i][j]; 对score[1]~score[9]每一个元素循环执行这个过程。综合上面的描述,找到最高分的代码可以写为: int i; max[i]=score[i][0]; for(j=1;j<7;j++) if(score[i] [j]> max[i]) max[i] = score[i][j]; 任务五 找到最低分 main() { int score[10]={76,85,83,79,70,91,81,67,75,90}; int max,min,maxindex=0,minindex=0; int i; max=min=score[0]; /*设置初值*/ for(i=1;i<10;i++) { if(score[i]>max) { max=score[i]; /*修改当前的最大值,并记录对应的下标*/ maxindex=i; } if(score[i]<min) { min=score[i]; /

资源预览图

7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
1
7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
2
7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
3
7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
4
7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
5
7.2输入10名选手的名字并保存(课件)-高二《程序设计基础》同步教学(人民邮电版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。