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

来源:互联网 发布:手机数据恢复多少钱 编辑:程序博客网 时间:2024/06/05 19:45

贺老师教学链接  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;}


0 0
原创粉丝点击