一个小的C语言问题

#include<stdio.h> 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<min)min=integer;    /*通过比较筛选出其中的最低分*/     }     printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);     printf("Average score:%d\n",(sum-max-min)/8);     /*输出结果*/ }

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
不能很好的理解这个程序,望高人指教!~
#include<stdio.h>
void main()
{
int integer,i,max,min,sum;
max=-32768;
min=32767;
sum=0;
for(i=1;i<=10;i++)
{
printf("Input number %d=",i);
scanf("%d",&integer);
sum+=integer;
if(integer>max)max=integer;
if(integer<min)min=integer;
}
printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);
printf("Average score:%d\n",(sum-max-min)/8);
}

max=-32768;
min=32767;
这里不好理解!
还有这个for语句与printf("Input number %d=",i)和后面可以连续输入10个数的问题!

第1个回答  2008-01-30
程序注释的已经很明白了。
关于搂主的疑问,应该注意到因为程序定义的为整形变量,所以输入的最大值、最小值只能是32767、-32768。其实从实际的角度来看,评为打得分数只能是0-100分,所以在正确输入的前提下,最大值赋值为大于100的数,最小值赋值为小于0的数就行。
第2个回答  2008-01-30
...自己写也不难啊...

程序似乎没有实现规定1-100的范围...
相似回答