for 文の練習!
問題概要
個の整数
のうち、最大値と最小値を除外した
個の整数の総和を求めよ。
制約
個の整数はすべて互いに相異なる
解法
まず 個の整数を「配列」として受け取りましょう (C++ では
vector<int> 型など)。
その後、配列に対して for 文を回して、次の 3 つの値を求めます。
sum:個の整数の総和
ma:個の整数の最大値
mi:個の整数の最小値
これらの値が求められたら、
sum - mi - ma
が答えです。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<int> A(N); for (int i = 0; i < N; i++) cin >> A[i]; int sum = 0, mi = 101, ma = -1; for (int i = 0; i < N; i++) { sum += A[i]; mi = min(mi, A[i]); ma = max(ma, A[i]); } cout << sum - mi - ma << endl; }