C语言程序设计项目化教程(第3版)4.pptVIP

C语言程序设计项目化教程(第3版)4.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

【例4-23】下面程序中有错,请指出它的错误。#includestdio.hmain(){charc[]=BASIC\ndBASE;printf(%s\n,c[]);}分析:在本例的printf函数中,使用的格式字符串为“%s”,表示输出的是一个字符串。而在输出表列中给出数组名则可。即,不能写为:printf(%s\n,c[]),应改为printf(%s\n,c)。此程序运行结果如图所示。项目四学生成绩的排序项目要求一个班有40位学生参加了期终考试(考了三门课),现要按成绩的高低输出成绩单。程序的运行要求:(成绩任意输入,为了方便,假设只有五个同学)项目分析从项目要求中可以看出,本项目首先需要输入40个学生的姓名及三门课的成绩;第二是求出每个同学的总分及平均分;第三要求对成绩的总分高低进行排序,并将排序结果输出。从先简单后复杂的原则出发,所以,将这一项目分成解四个任务介绍,任务一是多个学生一门课成绩的输入/输出;任务二是多个学生一门课成绩的排序;任务三是学生姓名的输入/输出;任务四是多个学生多门成绩的排序。任务1多个学生一门课成绩的输入、输出一、任务提出一个班40位同学参加了一次数学考试,现要输入全班同学的成绩,并按逆序输出。分析:全班一共有四十个同学,显然定义四十个简单变量x1,x2,……x40,然后输出是不科学的。因为是逆序输出,因而要求输入的每个同学的成绩都必须保存。那么如何解决这个问题呢?其实,仔细分析一些,不难发现每个同学的成绩都具有相同类型。这样,就须引入了一个新的概念,即数组。二、具体实现#includestdio.h“#defineN10main(){inti,score[N];printf(请输入本班同学的成绩:);for(i=0;iN;i++)scanf(%d,score[i]);printf(按逆序输出本班同学的成绩:);for(i=N-1;i=0;i--)printf(%3d,score[i]);}程序运行结果注:为了程序运行方便,假设只有10人掌握的知识点为:首先是数组的定义;第二是数组的初始化;第三是数组的引用;三、相关知识(一)一维数组的定义和引用1.一维数组的定义一维数组的定义方式为:类型说明符数组名[常量表达式];例如:inta[20];它表示数组名为a,该数组的长度为20,最多可以存放20个元素,每个元素均为int类型。说明:(1)数组名等同变量名,命名规则也与变量名一样。对“intx;”,我们称变量x,对“inta[20]:”我们称数组a。(2)数组名后是用方括号括起来的常量表达式。inta[3+5];charc[10];(3)常量表达式表示数组的长度,数组一经定义,长度就固定不变,换言之,C语言不允许对数组的大小作动态定义,所以方括号括起来的是常量表达式,不可以是变量。下面这样的定义是错的:intn=8;chara[n];(4)数组的下标从0开始。例如:inta[20];表示定义了20个数组元素,分别为a[0]、a[1]、a[2]、a[3]、…a[19]。若要引用第i个元素,则可以表示成a[i]2.一维数组的引用数组必须先定义,才能使用。数组元素的表示形式:数组名[下标]下标可以是常量、表达式、变量。例如a[3]、a[5-3]、a[i]【例4-1】数组元素的使用。输入十个学生的成绩,并将其输出。#includestdio.hmain(){inti,a[10];printf(输入数组元素:);for(i=0;i10;i++)scanf(%d,a[i]);printf(输出数组元素:);for(i=0;i10;i++)printf(%5d,a[i]);}程序结果如果,要求第一个学生的成绩用下标1表示,第二个学生的成绩用下标2表示,……第十个学生的成绩用下标10表示,则应定义为inta[11]。【例4-2】求学生的总评成绩。现有十个学生,从键盘上输入他们的平时成绩、期终成绩,输出总评成绩。总评成绩=平时成绩*40%+期终成绩*60%.#includestdio.hmain(){intI;floata[11],b[11],c[11];printf(输入平时成绩:);for(i=1;i=10;i++)scanf(%f,a[i]);printf(输入期终成绩:);for(i=1;i=10;i++)scanf(%f,b[i]);for(i=1;i=10;i++)c[i]=0.4*a[i]+0.6*b[i];pr

文档评论(0)

yuzuzou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档