C语言歌星大奖赛为参赛的选手打分.docVIP

  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文档。上传文档
查看更多
C语言歌星大奖赛为参赛的选手打分

C语言歌星大奖赛为参赛的选手打分 在歌星大奖赛中,有 10 个评委为参赛的选手打分,分数为 1~100 分。选手最后得分为:去掉 一个最高分和一个最低分后其余 8 个分数的平均值。请编写一个程序实现。 *问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。 *程序说明与注释 #includestdio.h int main() { int integer,i,max,min,sum; max=-32768; /*先假设当前的最大值 max 为 C 语言整型数的最小值*/ min=32767; /*先假设当前的最小值 min 为 C 语言整型数的最大值*/ sum=0; /*将求累加和变量的初值置为 0*/ for(i=1;i=10;i++) { printf(Input number %d=,i); scanf(%d,integer); /*输入评委的评分*/ sum+=integer; /*计算总分*/ if(integermax)max=integer; /*通过比较筛选出其中的最高分*/ if(integermin)min=integer; /*通过比较筛选出其中的最低分*/ } printf(Canceled max score:%d\nCanceled min score:%d\n,max,min); printf(Average score:%d\n,(sum-max-min)/8); /*输出结果*/ } *运行结果 运行结果 运行结果 运行结果 Input number1=90 Input number2=91 Input number3=93 Input number4=94 Input number5=90 Input number6=99 Input number7=97 Input number8=92 Input number9=91 Input number10=95 Canceled max score:99 Canceled min score:90 Average score:92 案例七: 问 555555 的约数中最大的三位数是多少? *问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 根据约数的定义,对于一个整数 N,除去 1 和它自身外,凡能整除 N 的数即为 N 的约数。因此, 最简单的方法是用 2 到 N-1 之间的所有数去除 N,即可求出 N 的全部约数。本题只要求取约数 中最大的三位数,则其取值范围可限制在 100 到 999 之间。 *程序说明与注释 #includestdio.h int main() { long i; int j; printf(Please input number:); scanf(%ld,i); for(j=999;j=100;j–) if(i%j==0) { printf(The max factor with 3 digits in %ld is:%d,\n,i,j); break; } } *运行结果 运行结果 运行结果 运行结果 输入:555555 输出:The max factor with 3 digits in 555555 is:777 案例八: 求 13 的 13 次方的最后三位数 *问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 问题分析与算法设计 解本题最直接的方法是:将 13 累乘 13 次方截取最后三位即可。 但是由于计算机所能表示的整数范围有限, 用这种“正确”的算法不可能得到正确的结果。 事实上, 题目仅要求最后三位的值,完全没有必要求 13 的 13 次方的完整结果。 研究乘法的规律发现: 乘积的最后三位的值只与乘数和被乘数的后三位有关, 与乘数和被乘数的 高位无关。利用这一规律,可以大大简化程序。 *程序说明与注释 #includestdio.h int main() { int i,x,y,last=1; /*变量 last 保存求 X 的 Y 次方过程中的部分乘积的后三位*/ printf(Input X and Y(X**Y):); scanf(%d**%d,x,y); for(i=1;i=y;i++) /*X 自乘 Y 次*/ last=last*x%1000; /*将 last 乘 X 后对 1000 取模,即求积的后三位*/ printf(The last 3 digits of %d**%d i

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档