一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。
輸入格式:
輸入在第一行給出乙個正整數n(≤10
4 )。隨後 n 行,每行給出乙個玩家的名字(由不超過8個英文本母組成的字串)和其猜的正整數(≤ 100)。
輸入樣例:
7
bob 35
amy 28
james 98
alice 11
jack 45
smith 33
chris 62
輸出樣例:
22 amy
這題不難,就是對於我做的這種解法來說,就是有點坑,先說說思路。
1.先算出大家平均數的一半,
2.然後將大家猜的數與這個數相減的絕對值進行比較,標記差最小的那個人是第幾號
3.最後將這個數轉化為整型輸出,再輸出差最小那個人的姓名
再說下我遇到的坑點,剛開始陣列只開了100,會出現乙個段錯誤,將陣列開大到1000,還是如此,最後10000,就通過了。
#includeusing namespace std;
int main()
int winner_num = 0;//標記贏家為第幾個
float figure = sum/n/2.0;//figure為 平均數一半
int d_value = abs(figure - num[0]);
for (int i = 1; iabs(figure - num[i]))
}cout<<(int)figure<<" "
}
L1 056 猜數字 20 分
一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。輸入格式 輸入在第一行給出乙個正整數n 10 4 隨後 n 行,每行給出乙個玩家的名字 由不超過8個英文本母組成的字串 和其猜的正整數 100 輸出格式 在一行中順序輸出 大家平均數的一半 ...
L1 056 猜數字 20分
l1 056 猜數字 20分 一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。輸入在第一行給出乙個正整數n 10 4 隨後 n 行,每行給出乙個玩家的名字 由不超過8個英文本母組成的字串 和其猜的正整數 100 在一行中順序輸出 大家平均...
pta天梯賽 L1 056 猜數字
任務描述 一群人坐在一起,每人猜乙個 100 以內的數,誰的數字最接近大家平均數的一半就贏。本題就要求你找出其中的贏家。輸入格式 輸入在第一行給出乙個正整數n 10的4次方 隨後 n 行,每行給出乙個玩家的名字 由不超過8個英文本母組成的字串 和其猜的正整數 100 輸出格式 在一行中順序輸出 大家...