weixin_42906108 2018-11-07 13:51 采纳率: 0%
浏览 493

for循环游泳比赛得分问题

int i, n, sum, max, min, score,avg;
sum = 0;
max = 0; //将最高分初值设置为0
min = 100; //最低分初值设置为100
printf("请输入评委人数:");
scanf("%d",&n);
for(i = 1;i <= n;i++)
{
printf("请输入第%d个评委的分数:",i);
scanf("%d",&score);
if(score > max)
score = max;
if(score < min)
score = min;
sum = sum + score;
}
avg = (sum - max - min)/(n - 2);
printf("最高分为:%d,最低分为:%d",max,min);
printf("平均分为:%d",avg);
CDIO课本习题,但Codeblock运行之后最高分最低分平均值这一块是错误的
小白求解

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-07 13:53
    关注
     int i, n, sum, max, min, score,avg;
    ->
    int i, n, sum, max, min, score;
    double avg;
    
    avg = (sum - max - min)/(n - 2);
    ->
    avg = (sum - max - min)/(double)(n - 2);
    
    printf("平均分为:%d",avg);
    ->
    printf("平均分为:%lf",avg);
    
    这里也反了
    score = max;
    ->
    max = score;
    
    score = min;
    ->
    min = score;
    

    完整程序

    #include "stdio.h"
    int main()
    {
    int i, n, sum, max, min, score;
    double avg;
    sum = 0;
    max = 0; //将最高分初值设置为0
    min = 100; //最低分初值设置为100
    printf("请输入评委人数:");
    scanf("%d",&n);
    for(i = 1;i <= n;i++)
    {
    printf("请输入第%d个评委的分数:",i);
    scanf("%d",&score);
    if(score > max)
    max = score;
    if(score < min)
    min = score;
    sum = sum + score;
    }
    avg = (sum - max - min)/(double)(n - 2);
    printf("最高分为:%d,最低分为:%d",max,min);
    printf("平均分为:%lf",avg);
    return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值