求
#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;
}