1. 程式人生 > >PTA練習:猜數字(C語言,通俗解法)

PTA練習:猜數字(C語言,通俗解法)

一群人坐在一起,每人猜一個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。

輸入格式:

輸入在第一行給出一個正整數N(≤104​​)。隨後 N 行,每行給出一個玩家的名字(由不超過8個英文字母組成的字串)和其猜的正整數(≤ 100)。

輸出格式:

在一行中順序輸出:大家平均數的一半(只輸出整數部分)、贏家的名字,其間以空格分隔。題目保證贏家是唯一的。

輸入樣例:

7
Bob 35
Amy 28
James 98
Alice 11
Jack 45
Smith 33
Chris 62

輸出樣例:

22 Amy

#include
<stdio.h>
#include<math.h> #include<stdlib.h> int main() { char name_deposit[10000][9]; //儲存名字 int N, n, i, mD_value, sum = 0, num_deposit[10000]; //差值mD_value 儲存num double ave;//也可以為int型 scanf("%d", &N); for (i = 0; i < N; i++)//將輸入的name與num儲存,首項開始1-1對應 { scanf
("%s %d", name_deposit[i], &num_deposit[i]); sum += num_deposit[i]; ave = sum / (2 * N); } mD_value = fabs(num_deposit[0] - ave);//將第一個num與ave的差值作為最小 for (i = 0; i < N; i++) if (fabs(num_deposit[i] - ave) <= mD_value)//比較差值大小 { n = i;//對應的位置 mD_value = fabs(num_deposit[i] - ave); }
printf("%.0lf %s\n", ave, name_deposit[n]); return 0; }