m0_74289836 2023-03-29 23:13 采纳率: 85.7%
浏览 125
已结题

猜数字一群人坐在一起,每人猜一个 100 以内的数

L1-056 猜数字
分数 20
作者 陈越
单位 浙江大学
一群人坐在一起,每人猜一个 100 以内的数,谁的数字最接近大家平均数的一半就赢。本题就要求你找出其中的赢家。

输入格式:
输入在第一行给出一个正整数N(≤10
4
)。随后 N 行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。

输出格式:
在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。题目保证赢家是唯一的。

输入样例:
7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62
输出样例:
22 Amy

我想请问一下,为什么我的结果总是不对

img


#include <stdio.h>
int main()
{
    int n,i,a[10000],t,s=0,min,k,m=0;
    char b[10000][11];
    
    scanf("%d",&n);
    getchar();
    
    for(i=0;i<n;i++)
    {
        scanf("%s%d",b[i],&a[i]);
        b[i][10]='\0';
        s=s+a[i];
        getchar();
    }
    
    t=s/n/2;
    
    for(i=0;i<n;i++)
    {
        if(a[i]>t)
         min=a[i]-t;
        else
         min=t-a[i];
         if(m>min)  // mÊÇÉÏÒ»´ÎµÄ min 
         {
         k=i;
         m=min;      
         }
    }
    
    printf("%d %s",t,b[k]);
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-03 15:54
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 3月29日

悬赏问题

  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误