《数学数组学习.pptx》由会员分享,可在线阅读,更多相关《数学数组学习.pptx(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、内容提要数组类型;常用算法:排序、求最大最小值等;用字符数组存取字符串;使用字符串处理函数处理字符串第1页/共82页为什么使用数组例子:要读入某班全体50位同学某科学习成绩,然后进行简单处理(求平均成绩、最高分、最低分、排序)若用简单变量,需50个不同变量名,要用很多个scanf命令 int score1,score2,score50;scanf(%d,%d,%d,&score1,&score2,&score3);scanf(%d,%d,%d,&score4,&score5,&score6);而用数组,可共用一个scanf命令并利用循环结构读取 int score50,i;for(i=0;i5
2、0;i+)scorei=i;scanf(%d,&scorei);保存大量同类型的相关数据第2页/共82页数组(Array)的定义 定义 存储类型 数据类型 数组名 整数1 整数2 整数n;a9a8a7a1a0数组首地址intint a10;a10;定义一个有定义一个有1010个个intint型元素的数组型元素的数组 系统会在内存分配连续的系统会在内存分配连续的1010个个intint空间给此数空间给此数组组 直接对直接对a a的访问,就是访问此数组的首的访问,就是访问此数组的首地址地址第3页/共82页数组(Array)的定义 定义 存储类型 数据类型 数组名 整数1 整数2 整数n;a9a8a
3、7a1a0intint a10;a10;数组大小必须是常量表达式数组大小必须是常量表达式(常量或符号常常量或符号常量量),其值必须为正,不能为变量。,其值必须为正,不能为变量。数组一旦定义,不能改变大小数组一旦定义,不能改变大小 数组大小最好用宏来定义,以适应未来可能数组大小最好用宏来定义,以适应未来可能的变化的变化#define#define SIZESIZE 10 10 int int a aSIZESIZE;第4页/共82页一维数组和多维数组一维数组用一个下标确定各元素在数组中的顺序可用排列成一行的元素组来表示如 int a5;二维数组用两个下标确定各元素在数组中的顺序可用排列成i行,j
4、列的元素组来表示如 int b23;n维数组用n个下标来确定各元素在数组中的顺序如 int c324;n3时,维数组无法在平面上表示其各元素的位置a0a0a1a1a2a2a3a3a4a4b00b00b01b01b02b02b10b10b11b11b12b12第5页/共82页数组的初始化数组定义后的初值仍然是随机数,一般需要我们来初始化 int a5=12,34,56,78,9;int a5=0;int a=11,22,33,44,55;int a5;a5=12,34,56,78,9;第6页/共82页【例一例一】以下程序的运行结果是什么?以下程序的运行结果是什么?main()main()int
5、a3=1,2,3,4,5,6,0;int a3=1,2,3,4,5,6,0;printf(%d,%d,%dn,a11,a21,a31);printf(%d,%d,%dn,a11,a21,a31);1 2 34 5 06 0 00 0 0结果:5,0,0【例二】若int a 3=1,2,3,4,5,6,7,则a数组的第一维大小是多少?1 2 34 5 67 0 0二维数组的初始化示例第7页/共82页习题6.1以下能对外部的一维数组a进行正确初始化的语句是:。A)int a10=(0,0,0,0,0);B)int a10=;C)int a=0;D)int a10=10*1;以下能对外部的二维数组a
6、进行正确初始化的语句是:。A)int a2=1,0,1,5,2,3;B)int a3=1,2,1,5,2,3;C)int a24=1,2,1,5,2,6;D)int a3=1,0,2,2,3;书上错误书上错误 P152P152第8页/共82页从类型的角度理解数组int a10;定义一个有10个int型元素的数组a的类型可以看作int10只是看作,语法并不允许这么定义:int10 a;int a2010;看作定义一个有20个int10型元素的数组a0、a1a19的类型是int10所以a00a199的类型是int此原理决定了数组在内存的分布规律,也解释了数组的很多语法现象第9页/共82页数组的存储
7、结构根据数组的数据类型,为每一元素安排相同长度的存储单元根据数组的存储类型,将其安排在内存的动态、静态存储区或寄存器区用sizeof(a)来获得数组a所占字节数shortshort第10页/共82页数组的引用数组名 下标1 下标2 下标n下标都是从0开始,养成从0开始查数的职业病使用a0、a1、a2、a9这样的形式访问每个元素数组下标(index)既可以是常量,也可以是整型表达式,允许快速地随机访问,如ai可以像使用普通变量一样使用他们第11页/共82页数组的引用数组名 下标1 下标2 下标n下标越界是大忌!编译程序不检查是否越界下标越界,将访问数组以外的空间那里的数据是未知的,不受我们掌控,
8、可能带来严重后果第12页/共82页b0b0b1b1b2b2b3b3b4b4b5b5b6b6b7b7b8b8b9b9c ca a如果下标值小于0或超过数组长度时会出现什么情况?运行程序或单步执行观察变量变化情况可以看到,变量c和a的值因数组越界而被悄悄破坏了12345612078910114040444448484c4c5050545458585c5c6060646468686c6c第13页/共82页二维数组的存储结构short int a23;a0a1a10 a11a12a00 a01a02存放顺序:按行存放先顺序存放第0行的元素再存放第1行的元素a00a01a02a10a11a12所以需要知
9、道数组的每一行 有多少列,这样从起始地址开始,才能正确的读出数组的元素第14页/共82页如何使两个数组的值相等main()int a4=1,2,3,4,b4;b=a;解决方法法1:逐个元素赋值 b0=a0;b1=a1;b2=a2;b3=a3;法2:通过循环赋值 int i;for(i=0;i4;i+)bi=ai;原因:数组名表示数组的首地址,其值不可改变!第15页/共82页如何使两个数组的值相等如何使两个二维数组的值相等?通过双重循环赋值 int a42=1,2,3,4,5,6,7,8;int b42;int i,j;for(i=0;i4;i+)for(j=0;j2;j+)bij=aij;第1
10、6页/共82页如何输入数组的值如何输入二维数组的值?使用双重循环 int a42;int i,j;for(i=0;i4;i+)for(j=0;j2;j+)scanf(%d,&aij);第17页/共82页例6.1 兔子繁殖问题打印每个月和年底时的总的兔子对数Fibonacci数列 123581321345589144233,第18页/共82页#include#define YEAR_MONTH 12main()int fYEAR_MONTH+1=0,1,2;int month;for(month=3;month=YEAR_MONTH;month+)fmonth=fmonth-1+fmonth-2
11、;for(month=1;month=YEAR_MONTH;month+)printf(%dt,fmonth);printf(nsum=%dn,fYEAR_MONTH);例6.1第19页/共82页例6.2 打印最高分从键盘输入学生人数n;从键盘输入所有学生的学号和成绩分别存入数组num和score假设其中的一个学生成绩为最高maxScore=score0;对所有学生成绩进行比较,即 for(i=1;i maxScore则修改maxScore值为scorei 打印最高分maxScore第20页/共82页.main().for(i=0;in;i+)scanf(%ld%f,&numi,&scorei
12、);maxScore=score0;for(i=1;i maxScore)maxScore=scorei;printf(maxScore=%.0fn,maxScore);例6.2 打印最高分第21页/共82页思考题#include#include main()main()intint a10,n,max,min,maxPos,minPos;a10,n,max,min,maxPos,minPos;forfor(n=0;n10;n+)(n=0;n10;n+)scanf(%d,&an);scanf(%d,&an);max=min=max=min=;maxPos=minPos=maxPos=minPo
13、s=;forfor(n=0;n10;n+)(n=0;nmax n anmin n 输入输入1010个数个数,输出最小输出最小值最大值和它们所对应值最大值和它们所对应的下标。的下标。思考:能否取消思考:能否取消max,minmax,min这两个变量?这两个变量?用用minPoxminPox记录最小值对应的下记录最小值对应的下标标aminPoxaminPox就是就是最小值最小值 a0 0 /输入输入1010个数个数第22页/共82页max(i=0)max(i=2)max(i=3)计算最大值算法计算最大值算法第23页/共82页排序算法选择法排序冒泡排序第24页/共82页选择法排序k=1k=2k=0k
14、=1第25页/共82页选择法排序k=3k=4k=3k=4第26页/共82页例初始:49 38 65 97 76 13 27 kji=11349一趟:13 38 65 97 76 49 27 i=22738二趟:13 27 65 97 76 49 38 三趟:13 27 38 97 76 49 65 四趟:13 27 38 49 76 97 65 五趟:13 27 38 49 65 97 76 六趟:13 27 38 49 65 76 97 kkkkjjjjjjjjjj从小到大排序第27页/共82页i=0 in-1akajk=j假假真真j=j+1交换ai和ak输出数组ak=i,j=i+1i=i+
15、1jn假从大到小排序从大到小排序流程图流程图for(i=0;i n-1;i+)for(i=0;i n-1;i+)k=i;k=i;for(j=i+1;j n;j+)for(j=i+1;j ak)k=j;if(aj ak)k=j;temp=ak;/*temp=ak;/*交换*/*/ak=ai;ak=ai;ai=temp;ai=temp;第28页/共82页选择法排序选择法排序 for(i=0;in-1;i+)k=i;for(j=i+1;j scorek)记录此轮比较中最高分的元素下标 k=j;若k中记录的最大数不在位置i,则 “交换成绩scorek和scorei”,交换学号numk和numi;第29
16、页/共82页冒泡排序算法排序过程:(1)比较第一个数与第二个数,若为逆序a0a1,则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束第30页/共82页38 49 65 76 13 27 30 97第二趟排序38 49 65 13 27 30 76第三趟排序38 49 13 27 30 65第四趟 排序38 13 27 30 49第五趟 排序 13 27 30 38第六趟 排序13
17、 27 30第七趟 排序49 38 65 97 76 13 27 30第一趟排序 n=83849769713972797309713767676273013652765306513134949304927382738303813 27结束第31页/共82页i=1i=2i=3i=4i=5ajaj+1j=0 to 4j=0 to 3j=0 to 2j=0 to 6-1-i9 8 8 8 8 8 5 4 4 0 8 9 5 5 5 5 4 5 0 45 5 9 4 4 4 6 0 54 4 4 9 6 6 0 66 6 6 6 9 0 80 0 0 0 0 9 第32页/共82页冒泡排序算法 9 8
18、 5 4 6 0i=1j=0:8 9 5 4 6 0j=1:8 5 9 4 6 0j=2:8 5 4 9 6 0j=3:8 5 4 6 9 0j=4:8 5 4 6 0 9intint main(void)main(void)intint i,j,n,t,a10;i,j,n,t,a10;n=6;n=6;forfor(i=0;i n;i+)(i=0;i n;i+)scanf(%d,&ai);scanf(%d,&ai);forfor(i=1;i n;i+)(i=1;i n;i+)forfor(j=0;j n-i;j+)(j=0;j aj+1)(aj aj+1)t=aj;t=aj;aj=aj+1;a
19、j=aj+1;aj+1=t;aj+1=t;return return 0;0;第33页/共82页查找算法顺序查找不需排序折半查找(数据结构)需要先排序第34页/共82页顺序查找哈,找到了!事先不必排序 flag=0;flag=0;for(i=0;i 5;i+)for(i=0;i=5)第35页/共82页折半查找数组下标 0 1 2 3 4 5 6 第一次循环:99011 99013 99015 99017 99019 查找值x=99017 low mid high xamid,low=mid+1第二次循环:99011 99013 99015 99017 99019 low=mid high x=
20、amid,找到哈,找到了!按升序排序99011 99013 99015 99017 99011 99013 99015 99017 9901999019第36页/共82页int low,high,mid,find=-1;low=0;high=n-1;while(low amid)low=mid+1;else if(x amid)high=mid-1;else find=mid;if(find=-1)printf(“未找到!”);else printf(“%d在数组下标为%d位置”,x,find);找到时find赋值为找到位置找不到时 输出未找到如果按降序排序,那么如何修改程序?第37页/共82
21、页字符串(String)与字符数组用双引号括起的一串字符是字符串常量,C语言自动为其添加0结束符How are youHow are youH o w a r e y o u H o w a r e y o u 00一串以0结尾的字符在C语言中被看作字符串第38页/共82页字符串(String)与字符数组C语言并没有为字符串提供任何专门的表示法,完全使用字符数组和字符指针来处理字符数组每个元素都是字符类型的数组char str80;H o w a r e y o u H o w a r e y o u 00H o w a r e y o u H o w a r e y o u 00是字符数组,
22、但不代表字符串数组的最后一个元素必须是0第39页/共82页字符数组的初始化用字符型数据对数组进行初始化 char str6=C,h,i,n,a,0;用字符串常量直接对数组初始化 char str6=China;char str6=China;第40页/共82页逐个输入输出for(i=0;stri!=0;i+)putchar(stri);putchar(n);charchar str10;str10;字符数组的输入输出字符数组的输入输出 一般不用字符串长度控制第41页/共82页一次性输入输出一次性输入输出scanf(%s,str);printf(%s,str);charchar str10;st
23、r10;字符数组的输入输出字符数组的输入输出 gets(str);puts(str);不能输入带空格的字符串可以输入带空格的字符串第42页/共82页一次性输入输出一次性输入输出scanf(%s,str);printf(%s,str);charchar str10;str10;字符数组的输入输出字符数组的输入输出 gets(str);puts(str);空格、回车或跳格(Tab)符作为输入数据的分隔符,因而不能被读入,输入遇到这些字符时,系统认为字符串输入结束第43页/共82页字符串处理函数#include strcpy(目的字符串,源字符串);string copystrlen(字符串);st
24、ring lengthstrcat(目的字符串,源字符串);string combinationstrcmp(字符串1,字符串2);string comparison第44页/共82页计算字符串长度#include strlen(字符串);string lengthchar str10=China;printf(%d,strlen(str);打印结果是 5,6,还是10?C h i n a 0 0 0 0 C h i n a 0 0 0 0 00不包括0的实际字符的个数第45页/共82页用字符数组实现的计算字符串长度函数unsigned int MyStrlen(char str)int i;
25、unsigned int len=0;for(i=0;stri!=0;i+)len+;return(len);#include#include strlen(字符串);string length想想这个函数是如何实现字符串长度计算的?函数的函数的入口和出口?入口和出口?第46页/共82页用字符数组实现的计算字符串长度函数unsigned int MyStrlen(char str)int i;unsigned int len=0;for(i=0;stri!=0;i+)len+;return(len);统计实际字符个数不含0stristrii=0i=0 i=1i=1i=2i=2 i=3i=3i=
26、4i=4 i=5i=5stri=0stri=0lenlen0 0 1 1 2 2 3 3 4 4 5 5 H e l l o H e l l o 00 第47页/共82页计算字符串长度#include strlen(字符串);string lengthlen=strlen(str);for(i=0;ilen;i+)putchar(stri);putchar(n);用长度控制字符串输出第48页/共82页字符串拷贝#include strcpy(目的字符串,源字符串);string copy字符串能否用=整体复制?str2=str1;strcpy(str2,str1);注意复制的方向!str2必须
27、足够大!第49页/共82页字符串拷贝#include strcpy(目的字符串,源字符串);string copy字符串能否用=整体复制?str2=str1;strcpy(str2,str1);想想这个函数是如何实现字符串拷贝的?第50页/共82页用字符数组编程实现的字符串拷贝函数void MyStrcpy(char dstStr,char srcStr)int i=0;while(srcStri!=0)dstStri=srcStri;i+;dstStri=0;H e l l o C h i n a H e l l o C h i n a 00 srcStrisrcStridstStridst
28、StriH Hi=0i=0e ei=1i=1l li=2i=2l li=3i=3o oi=4i=4 i=5i=5C Ci=6i=6h hi=7i=7i ii=8i=8n ni=9i=9a ai=10i=1000srcStri=0srcStri=0第51页/共82页字符串连接#include strcat(目的字符串,源字符串);string combinationstrcat(str2,str1);str2必须足够大!H e l l o H e l l o 0 0 0 0 0 00 0 0 0 0 0 00 C h i n a 0C h i n a 0H e l l o H e l l o C
29、 h i n a 0C h i n a 0 00第52页/共82页字符串比较#include strcmp(字符串1,字符串2);string comparison字符串能否用,=比较大小?if(str2=str1)if(strcmp(str2,str1)=0)第53页/共82页字符串比较#include strcmp(字符串1,字符串2);string comparison字符串是如何比较大小的?当出现第一对不相等的字符时,就由这两个字符决定所在字符串的大小,返回其ASCII码比较的结果值comparecomputercompare computer 表示为strcmp(str1,str2)
30、0为真第54页/共82页#include#include#define ARRA_SIZE 80main()int n,num;char strARRA_SIZE,minARRA_SIZE;printf(Please enter five names:n);gets(str);strcpy(min,str);for(n=1;n5;n+)gets(str);if(strcmp(str,min)0)strcpy(min,str);printf(The min is:);puts(min);从键盘任意输入从键盘任意输入5 5个学个学生的姓名,编程找出生的姓名,编程找出并输出按字典顺序排并输出按字典顺
31、序排在最前面的学生姓名在最前面的学生姓名 等价于求最小字符串等价于求最小字符串 例6.9 第55页/共82页这一章我们学习了数组数据类型在什么情况下使用数组这种数据类型 向函数传递一维数组和二维数组的方法 常用算法求最大值,排序,查找第56页/共82页作业编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和。从键盘任意输入10个数,实现将其中最大数和最小数的位置对换后,再输出调整后的数组P168 5、6、8(不参考书上答案)输入一行字符统计其英文字符、数字字符、空格及其他字符个数编程实现将字符数组中的字符逆序存放(考虑使用一个数组)P169 11、12、15(不参考书上答案)第5
32、7页/共82页作业实验指导书上机实验实验5数组编程练习检验并打印魔方矩阵/文曲星猜数字游戏餐饮服务质量调查打分C语言实验指导书实验八 数组输入55的数组,编写程序实现:(1)求出对角线上各元素的和;(2)求出对角线上行、列下标均为偶数的各元素的积;(3)找出对角线上其值最大的元素和它在数组中的位置。第58页/共82页实验5-文曲星猜数游戏由计算机随机生成一个各位相异的4位数字,由人来猜,每次提示:xAxBA前面的数字表示有几个数字猜对位置也对了B前面的数字表示有几个数字猜对但位置不对提示用数组a存计算机随机生成的4位数用数组b存人猜的4位数对a和b的相同位置的元素进行比较,得到A前面的数字对a
33、和b的不同位置的元素进行比较,得到B前面的数字第59页/共82页实验5-文曲星猜数游戏第一种方法:随机生成一个各位相异的4位数字 srand(time(NULL);a0=rand()%10;do a1=rand()%10;while(a0=a1);第60页/共82页实验5-文曲星猜数游戏统计数字和位置都猜对的个数,对a和b的相同位置的元素进行比较,得到A前面的数字 right=0;for(j=0;j4;j+)if(aj=bj)right=right+1;j=0j=1j=2j=3ab第61页/共82页实验5-文曲星猜数游戏统计人猜对的数字个数,对a和b的不同位置的元素进行比较,得到B前面的数字
34、k=0k=1k=2k=3j=0abj=1第62页/共82页实验5-餐饮服务质量调查打分 有40个学生被邀请给自助餐厅的食品和服务质量打分(110等级),统计调查结果,并用*打印如下形式的统计结果直方图 Grade CountHistogram 1 5*2 10*3 7*.第63页/共82页实验5-餐饮服务质量调查打分 提示定义数组score存放打分数定义数组count为计数器count0不用计算统计结果设置一个循环,依次检查数组元素值scorei是1则将数组元素count1加1是2则将数组元素count2加1依此类推 第64页/共82页实验5-餐饮服务质量调查打分 提示定义数组score存放打
35、分数定义数组count为计数器count0不用计算统计结果设置一个循环,依次检查数组元素值scorei,是1则将数组元素count1加1,是2则将数组元素count2加1,依此类推打印统计结果设置一个循环,按count数组元素的值,打印相应个数的符号*第65页/共82页附加题附加题编写程序完成计算行列式完成最简单的不超过7行的行列式计算。化三角形法是将原行列式化为上(下)三角形行列式或对角形行列式计算的一种方法。第66页/共82页第67页/共82页数组名作函数参数传递整个数组给另一个函数,可以将数组的首地址作为参数传过去用数组名作函数参数只拷贝一个地址自然比拷贝全部数据效率高由于首地址相同,故
36、实参数组与形参数组占用同一段内存在该函数内,不仅可以读这个数组的元素,还可以修改它们第68页/共82页 简单变量和数组作函数参数的区别第69页/共82页 float FindMax(float score,int n)float maxScore;int i;maxScore=score0;for(i=1;i maxScore)maxScore=scorei;return maxScore;例6.2 打印最高分确定函数的确定函数的入口和出口?入口和出口?第70页/共82页例6.2 打印最高分#include#define ARR_SIZE 40float FindMax(float arr,i
37、nt n);main()float scoreARR_SIZE,maxScore;int n,i;printf(Please enter total number:);scanf(%d,&n);printf(Please enter the score:n);for(i=0;iamid,low=mid+1第二次循环:99011 99013 99015 99017 99019 low=mid high x=amid,找到哈,找到了!按升序排序99011 99013 99015 99017 99011 99013 99015 99017 9901999019第72页/共82页折半查找数组下标 0
38、1 2 3 4 5 6第一次循环:99011 99013 99015 99017 99019 查找值x=99016 low mid high xamid,low=mid+1第二次循环:99011 99013 99015 99017 99019 low=mid high xamid,high=mid-1第三次循环:99011 99013 99015 99017 99019 high low 不满足low=high,循环结束,未找到 唉,没找到!99011 99013 99015 99017 99011 99013 99015 99017 9901999019第73页/共82页int BinSea
39、rch(long a,int n,long x)int low,high,mid;low=0;high=n-1;while(low amid)low=mid+1;else if(x amid)high=mid-1;else return(mid);return(-1);找到时返回下标位置找不到时 返回-1函数入口参数如果按降序排序,那么如何修改程序?第74页/共82页向函数传递二维数组a00a01a02a10a11a12a00a01a02a10a11a12实际传送的是数组第一个元素的地址short a23;short a23;第75页/共82页向函数传递二维数组在声明二维数组形参时,不能省略数
40、组第二维的长度(列数),为什么?想想数组在内存中是如何分布的?元素aij在数组a中的位置是:i*N+j 元素地址:首地址 +偏移量a00a01a02a10a11a12a00a01a02a10a11a12实际传送的是数组第一个元素的地址short aMN;short aMN;偏移1*3+2第76页/共82页例6.8 计算每门课程的总分和平均分void Total(int scoreCOURSE,int sum,float aver,int n)int i,j;for(j=0;jCOURSE;j+)sumj=0;for(i=0;in;i+)sumj=sumj+scoreij;averj=(floa
41、t)sumj/n;可以省略数组第一维的长度不能省略数组第二维的长度第77页/共82页voidvoid Total(Total(intint scoreCOURSE,scoreCOURSE,intint sum,sum,floatfloat aver,aver,intint n)n)intint i,j;i,j;forfor(j=0;jCOURSE;j+)(j=0;jCOURSE;j+)sumj=0;sumj=0;forfor(i=0;in;i+)(i=0;in;i+)sumj=sumj+scoreij;sumj=sumj+scoreij;averj=(float)sumj/n;averj=(f
42、loat)sumj/n;void Total(int scoreCOURSE,int sum,float aver,int n)int i,j;for(i=0;in;i+)sumi=0;for(j=0;jCOURSE;j+)sumi=sumi+scoreij;averi=(float)sumi/COURSE;如何计算每个学生的总分和平均分?例例6.8 6.8 计算每门课程的总分和平均分计算每门课程的总分和平均分第78页/共82页.main().for(i=0;in;i+)scanf(%ld%f,&numi,&scorei);maxScore=score0;maxNum=num0;for(i=1
43、;i maxScore)maxScore=scorei;maxNum=numi;printf(maxScore=%.0f,maxNum=%ldn,maxScore,maxNum);例6.2 打印最高分及其学生序号 用函数实现?用函数实现?第79页/共82页.main().for(i=0;in;i+)scanf(%ld%f,&numi,&scorei);maxScore=score0;maxNum=num0;for(i=1;i maxScore)maxScore=scorei;maxNum=numi;printf(maxScore=%.0f,maxNum=%ldn,maxScore,maxNum);例6.2 打印最高分及其学生序号 确定函数的确定函数的入口和出口?入口和出口?第80页/共82页.main().for(i=0;in;i+)scanf(%ld%f,&numi,&scorei);maxScore=score0;maxNum=num0;for(i=1;i maxScore)maxScore=scorei;maxNum=numi;printf(maxScore=%.0f,maxNum=%ldn,maxScore,maxNum);例6.2 打印最高分及其学生序号 确定函数的确定函数的入口和出口?入口和出口?第81页/共82页感谢您的观看。第82页/共82页
限制150内