网站大量收购独家精品文档,联系QQ:2885784924

C 语言程序设计项目三学生成绩的分组汇总.ppt

C 语言程序设计项目三学生成绩的分组汇总.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析: 因为要计算前30项之和,可以用一个循环: (1) 将a累加到s中,然后新的a变为sqrt(a); (2) 重复多次(1)即可;当前30项的和算完后,则输出。 【例3-18】数列第一项为81,此后各项均为它前1项的正平方根, 统计该数列前30项之和。 #include stdio.h #include math.h void main() {float s=0,a=81,i; for(i=1;i=30;i++) {s=s+a; a=sqrt(a);} printf(“%f\n”,s); } 运行结果: 121.335854 分析: 用一个循环,将每一项累加到一个变量中,因为它需要有效位数保留10位,所以要定义一个双精度型变量。 【例3-19】编写程序,完成以下功能:计算2的平方根、3的平方根…10的平方根之和,要求计算结果具有小数点后10位有效位数。 #include stdio.h #include math.h void main() { int i; double s=0; for(i=2;i=10;i++) s+=sqrt(i); printf(%.10lf\n,s); } 程序的运行结果为: 21.46828781868 【例3-20】韩信点兵:相传汉高祖刘邦问大将军韩信现在统御兵士多 少,韩信答,每3人一列余1人、5人一列余2人、7人一列余4人、13人 一列余6人、17人一列余2人、19人一列余10人。??刘邦茫然而不知其 数。你呢??你是一位优秀的程序员,请你帮刘邦解决这一问题,韩信 至少统御了多少兵士。? 分析:这道题的本质就是;“一个正 整数,被3除时余1,被5除时余2, 被7除时余4,被13除时余6,被17 除时余2,被19除时余10,求这个 数。”所以,我们可以从最小自然 数出发,一个一个地累加,如果它 满足条件,则退出循环。 #include stdio.h void main() {long i; for(i=1;;i++) if(i%3==2i%5==2i%7==4 i%13==6i%17==2 i%19==10) break; printf(韩信统领的兵数有:%ld\n,i); } 程序运行结果为: 韩信统领的兵数有:131072 任务 2 求每个小组学生成绩的总分及平均分 一、问题情景 一个班进行了一次考试,现要输入全班四个小组的学生成绩,计算每一小组的总分与平均分,并按要求输出。 分析 在任务1中,所解决的问题是:一个小组学生成绩的总分及平均分。 若现在一个班中有四个小组,现求每个小组的学生成绩的总分及 平均分。也就是将任务1重复进行四次,显然写四段程序是不科学 的,科学的方法是再嵌套一个循环。 具体实现: #include stdio.h main() {int score,i,sum; float avg; int j=1; while(j=4) { sum=0; i=1; printf( 请输入第%d小组学生成绩:,j); while(i=10) {scanf(%d,score); sum=sum+score; i=i+1; //本小组学生数增加1 } avg=sum/10.0; printf(本小组10个学生的总分为:%d\n,sum); printf(本小组10个学生的平均分为:%.2f\n,avg); j++; //下一个小组 } } 定义变量及赋初值score,i,sum 定义平均分float avg; 定义变量j并赋初值1 //j代表小组数,先从第一小组开始 j=4 赋初值i=1,sum=0 //每个小组刚开始总分为零 提示请输入本小组10个学生的成绩: i的初值为1 i=10 输入成绩score sum=sum+score; //将成绩累加到总分sum中 i++; //学生人数增加1 计算平均分 输出总分及平均分 j++; 程序运行结果 一个循环体内又包含另一个完整的循环体,称为循环的嵌套,与if的嵌套相同, 内嵌的循环中还可以嵌套循环,这就是多层循环。内层的优先级比外层的高, 只有内层的执行完才能执行外层的,循环嵌套的要领对各种语言都是一样的。 三种循环(while循环、do…while循环、for循环)可以互相嵌套。 三、相关知识 (一) 常见的循环嵌套 1. while循环嵌套while循环 while( ) {… while( ) {…} } 2. do … while循环嵌套do … while循环 do {… do {…} while( )

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档