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("%lf",&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("%lf",&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;
}


评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迂者-贺利坚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值