第八章数组类型习题及解析.doc

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

8-1 编写程序,将10个数34,3,29,63,70,16,85,82,90,93存放于一组数组中,求出这十个数的和及平均值。 解: #include stdio.h void main() { int a[10]={34,3,29,63,70,16,85.82,90,93}; int i ,sum=0; float average ; for(i=0;i10;i++) { sum=sum+a[i] ; } average=sum/10.0; printf(sum=%d,average=%f\n,sum,average); } 运行结果:sum=565,average=56.5000 思考:数组有何特点?此问题如果不用数组进行处理将会怎样? 8-2 编写程序,求存放于上题数组中10个数的最大值,最小值及所在的位置。 解:#include stdio.h void main() { int a[10]={34,3,29,63,70,16,85,82,90,93}; int i,sum,max,min,d_max,d_min; max=min=a[0]; d_max=d_min=0; for(i=1;i10;i++) { if(a[i]max) {max=a[i];d_max=i;} if(a[i]min) {min=a[i];d_min=i;} } printf(max=%d,a[%d]\n,max,d_max); printf(min=%d,a[%d]\n,min,d_min); } 运行结果:max=93,a[9] Min=3,a[1] 思考:数组a[i]中i的变化意味着什么? 8-3 编写程序,从键盘读入50个数存放于一数组中,求出该数组中最大值、最小值及所在位置。 解:#include stdio.h void main() { float a[50],max,min; int i,d_max,d_min; for(i=0;i50;i++) scanf(%f,a[i]); max=min=a[0]; d_max=d_min=0; for(i=1;i50;i++) { if(a[i]max) {max=a[i];d_max=i;} if(a[i]min) {min=a[i];d_min=i;} } printf(max=%d,a[%d]\n,max,d_max); printf(min=%d,a[%d]\n,min,d_min); } 思考:此题中不用数组也可以处理吗?如果可以,区别之处在哪里? 8-4将存放于上题数组中的50个数分别按升序,降序排序。 解:#include stdio.h #define N 3 void main() { float a[N] ,t; int i,j; for(i=0;iN;i++) scanf(%f,a[i]); /*按升序排序*/ for(i=0;iN;i++) { for(j=i;jN;j++) if(a[i]a[j]) {t=a[i];a[i]=a[j];a[j]=t;} printf(%8.2f ,a[i]); } printf(\n); /*按降序排序*/ for(i=0;iN;i++) { for(j=i;jN;j++) if(a[i]a[j]) {t=a[i];a[i]=a[j];a[j]=t;} printf(%8.2f ,a[i]); } printf(\n); } 思考:此题中可以不用数组进行处理吗?(进一步理解数组的特点。) 8-5 编写程序,从键盘输入某班学生C语言课程考试成绩,评定每个学生C语言成绩等级。如果高于平均分10分,则等级为优秀;如果低于平均分10分,则等级为一般;否

文档评论(0)

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

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

1亿VIP精品文档

相关文档