C语言及程序设计初步例程-37 循环嵌套

贺老师教学链接  C语言及程序设计初步 本课讲解


求 

#include <stdio.h>
int main()
{
    int sum=0, i=1, t;
    while (i<=6)
    {
         t = 1;
         j = 1;
         while(j<=i)
         {
              t *= i;
              j++;
         }
        sum += t;
        i++;
    }
    printf("sum = %d\n", sum);
    return 0;
}

大奖赛计分
要举办青年歌手大奖赛,请你设计一个程序,计算歌手成绩
输入
评委人数judgeNum
歌手人数singerNum
每名评委对每位歌手的打分mark(小数:0-10分)
输出
每位歌手的成绩
打分规则
每位评委对每位歌手给出一个分数,去掉一个最高分和一个最低分,余下分数的平均值作为选手的最后得分。
#include <stdio.h>
int main()
{  
      int judgeNum, singerNum, j, s;
      double mark, sum, aver, max, min;
      scanf("%d %d", &judgeNum, &singerNum);
      s=1;
      while(s<=singerNum)
      {
        sum=0;max=0;min=10;j=1;
        do
        {
            scanf("%f",&mark);
            sum+=mark;
            if(max<mark) max=mark;
            if(min>mark) min=mark;
            j++;
        }
        while(j<=judgeNum);
        aver = (sum-max-min)/(judgeNum-2);
        printf("%.3f\n", aver); 
           s++;
    }
    return 0;
}

进一步完善
#include <stdio.h>
int main()
{  
      int judgeNum, singerNum, j, s;
      double mark, sum, aver, max, min;
      scanf("%d %d", &judgeNum, &singerNum);
      s=1;
      while(s<=singerNum)
      {
        sum=0;max=0;min=10;j=1;
        do
        {
            scanf("%f",&mark);
            if(mark<0||mark>10)
            {
                continue;
            }
            sum+=mark;
            if(max<mark) max=mark;
            if(min>mark) min=mark;
            j++;
        }
        while(j<=judgeNum);
        aver = (sum-max-min)/(judgeNum-2);
        printf("%.3f\n", aver); 
           s++;
    }
    return 0;
}


你可能感兴趣的:(C语言及程序设计初步例程-37 循环嵌套)