《C语言趣味编程一例》的改进

        刚下载了《C语言趣味编程》就开始拜读了,看了一个自己感兴趣的例子就把它的代码改了一下。 原题是这样的:

       歌星大奖赛

在歌星大奖赛中,有10个评委为参赛的选手 打分,分数为1到100分。选手最后得分为:

去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。

Code:
  1. #include<stdio.h>  
  2. void main()  
  3. {  
  4.     int integer, i, max, min,sum;  
  5.     max=-32768;  
  6.     min=32767;  
  7.     sum=0;  
  8.     for(i=1; i<=10;i++){  
  9.        prinf("Input number %d= ",i);  
  10.        scanf("%d",&integer);  
  11.        sum += integer;  
  12.        if(integer>max)max=integer;  
  13.        if(integer<min)min=integer;  
  14.     }  
  15.     printf("Cancled max score : %d/nCancled min score :%d/n",max,min);  
  16.     printf("Average score "%d/n",(sum-max-min)/8);  
  17. }  

我给改了一下:

Code:
  1. //歌星评分  
  2. //输入10个分数,去掉一个最大值一个最小值,然后求8个分数的平均分  
  3. #include<stdio.h>  
  4. void main()  
  5. {  
  6.     int max,min,scoretmp;  
  7.     int sum=0;  
  8.     printf("input 1 score:/n");  
  9.     scanf("%d",&scoretmp);//先初始化一个分数,  
  10.     max=min=scoretmp;//将最大值和最小值都初始化成该分数  
  11.     for(int i=2; i<=10; i++){  
  12.         sum+= scoretmp;  
  13.         printf("input %d score:/n",i);  
  14.         scanf("%d",&scoretmp);  
  15.           
  16.         if(max<scoretmp)max= scoretmp;  
  17.         if(min>scoretmp)min= scoretmp;  
  18.     }  
  19.     printf("The highest score is %d/n",max);  
  20.     printf("The lowest score is %d/n",min);  
  21.     printf("The average score is %d/n",(sum-max-min)/8);  
  22. }  

这样做的目的是不去用32767和-32769这两个值,,因为int型的最大值和最小值是和机器有关的~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值