查看全部128种考试
1
2
3
4
5
6
7
8
9
10
ak47  
【字体: 经典的C程序案例
经典的C程序案例
djks.exam8.com 来源:考试吧(Exam8.com) 更新:2004-8-16 22:43:00 计算机等级考试 考试论坛

4.歌星大奖赛

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。

*问题分析与算法实现

这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。

*程序说明与注释

#include

void 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(integer>max)max=integer; /*通过比较筛选出其中的最高分*/

if(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

*思考题

题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?

求最大数

问555555的约数中最大的三位数是多少?

*问题分析与算法设计

根据约数的定义,对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。因此,最简单的方法是用2到N-1之间的所有数去除N,即可求出N的全部约数。本题只要求取约数中最大的三位数,则其取值范围可限制在100到999之间。

*程序说明与注释

#include

void 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

上一页  [1] [2] [3] 下一页

转帖于:计算机等级考试_考试吧
文章搜索  
看了本文的网友还看了:
计算机等级考试权威辅导教材: 订书电话:010-62168566  更多>>>
网友评论
昵 称: *  评 分: 1分 2分 3分 4分 5分
标题:   匿名发表    (共有条评论)查看全部评论>>
版权声明 -------------------------------------------------------------------------------------
  如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
关于本站  网站声明  广告服务  联系方式  付款方式  站内导航  客服中心  友情链接  考试论坛  网站地图
Copyright © 2004-2008 考试吧计算机等级考试网 All Rights Reserved    
中国科学院研究生院权威支持(北京) 电 话:010-62168566 传 真:010-62192699
百度大联盟黄金认证  十佳网络教育机构  经营许可证号:京ICP060677