C言語プログラムで数列の最大値と最小値を求める方法
問題
コンソールからユーザーが入力した4つの整数の中から、最も大きい数(最大値)と最も小さい数(最小値)を見つけます。
解決方法
最大値と最小値を求めるには、if文による条件分岐を使用します。まず1つ目の入力値を仮の最大値・最小値として設定し、残りの数値と順番に比較していきます。比較の基本ロジックは以下の通りです。
if(minno>q) // 1番目と2番目の数を比較 minno=q; else if(maxno<q) maxno=q; if(minno>r) // 1番目と3番目の数を比較 minno=r;
このように、現在の最小値より小さい数が見つかれば最小値を更新し、現在の最大値より大きい数が見つかれば最大値を更新します。すべての数値の比較が終わった時点で、正しい最大値と最小値が求められます。
プログラム1:4つの整数から最大値と最小値を求める
#include<stdio.h>
int main(){
int minno,maxno,p,q,r,s;
printf("enter any four numbers:");
scanf("%d%d%d%d",&p,&q,&r,&s);
minno=p;
maxno=p;
if(minno>q) // 1番目と2番目の数を比較
minno=q;
else if(maxno<q)
maxno=q;
if(minno>r) // 1番目と3番目の数を比較
minno=r;
else if(maxno<r)
maxno=r;
if(minno>s) // 1番目と4番目の数を比較
minno=s;
else if(maxno<s)
maxno=s;
printf("Largest number from the given 4 numbers is:%d\n",maxno);
printf("Smallest numbers from the given 4 numbers is:%d",minno);
return 0;
}
実行結果
enter any four numbers:34 78 23 12 Largest number from the given 4 numbers is:78 Smallest numbers from the given 4 numbers is:12
この例では、入力された「34, 78, 23, 12」の中から、最大値として78、最小値として12が出力されています。
プログラム2:配列の中から最大値と最小値を求める
次のプログラムは、任意の個数の要素を持つ配列から、最大値と最小値を効率的に検索します。forループで配列の各要素を走査しながら、最大値・最小値を順次更新していく点が特徴です。要素数が多くても簡潔に記述できるため、実用的な手法といえます。
#include<stdio.h>
int main(){
int a[50],i,num,large,small;
printf("Enter the number of elements :");
scanf("%d",&num);
printf("Input the array elements :\n");
for(i=0;i<num;++i)
scanf("%d",&a[i]);
large=small=a[0];
for(i=1;i<num;++i){
if(a[i]>large)
large=a[i];
if(a[i]<small)
small=a[i];
}
printf("small= %d\n",small);
printf("large= %d\n",large);
return 0;
}
実行結果
Enter the number of elements :8 Input the array elements : 1 2 6 4 8 9 3 9 small= 1 large= 9
この例では、8個の要素「1, 2, 6, 4, 8, 9, 3, 9」を含む配列から、最小値1と最大値9が正しく検出されています。
まとめ
最大値・最小値を求める際のポイントは以下の通りです。
- 最初の要素(または最初に入力された数値)を、最大値・最小値の初期値として設定する
- 残りの要素と順番に比較し、条件に応じて値を更新する
- 配列の場合はforループを活用すると、要素数が多くても簡潔に記述できる
-
Pythonでリスト内の最小値を見つける方法を解説
この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。
-
Pythonでリスト内の最大値を見つける方法をわかりやすく解説
この記事では、Pythonを使ってリストの中から最大の要素(最大値)を見つける方法について解説します。初心者の方でも理解しやすいよう、複数のアプローチをコード例とともに紹介していきます。 問題の概要 問題文: 与えられたリストの中から、最も大きい要素を求めて出力してください。 Pythonには便利な組み込み関数が用意されているため、これらを活用することで短いコードで効率的に問題を解決できます。ここでは主に sort() メソッドと max() 関数の2つの方法を取り上げます。 方法1:sort() 関数を使う sort() メソッドはリストを昇順に並べ替えます。並べ替え後のリストの末尾(インデ