double numに入っている数字から最大値と最小値を求めたいのですが、このままだと両方とも1.000になってしまうんです・・・
どうやったらちゃんと最大値と最小値が表示されるのでしょうか??
初心者なものでスイマセンが教えてください!!
#include<stdio.h>
int main(void)
{
int i,j;
double num[]={4.5,3.1,7.0,9.2,1.0,5.7,9.3,2.3,0.3,1.0};
double max,min;
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(num[i]>num[j])
max=num[i];
}
}
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
if(num[i]<num[j])
min=num[i];
}
}
printf("最大値は%fです。",max);
printf("最小値は%fです。",min);
return 0;
}
No.4
- 回答日時:
このプログラムでそのデータならそうなるわなぁ.
以下, プログラムの骨子だけ:
max = min = num[0];
for (int i = 1; i < 10; i++) {
if (num[i] の方が max より大きい)
max = num[i];
else if (num[i] の方が min より小さい)
min = num[i];
}
よ~するに「左からみていって各要素とそのときまでの最大・最小値を比較する」だけなんだけど.
No.3ベストアンサー
- 回答日時:
なぜforループが2重になっているのかよくわかりませんが、
考え方として、
・とりあえず配列の最初の値を暫定の最大値としてセットする
・forループで配列を調べていき、配列の値が暫定の最大値より大きな場合、それを暫定の最大値とする。
・forループを抜けると、暫定の最大値は暫定ではなく、その配列の最大値となっている。
という流れが普通のやり方です。
以上を踏まえてコーディングを手直しすると、以下のようになります。
#include<stdio.h>
int main(void)
{
int i;
double num[]={4.5,3.1,7.0,9.2,1.0,5.7,9.3,2.3,0.3,1.0};
double max,min;
max=num[0];
for(i=0; i<10; i++)
{
if(num[i]>max)
max=num[i];
}
min=num[0]
for(i=0; i<10; i++)
{
if(num[i]<min)
min=num[i];
}
printf("最大値は%fです。",max);
printf("最小値は%fです。",min);
return 0;
}
No.2
- 回答日時:
もっと簡単になりますよ :-)
#include<stdio.h>
int main(void)
{
int i;
double num[]={ 4.5, 3.1, 7.0, 9.2, 1.0, 5.7, 9.3, 2.3, 0.3, 1.0 };
double max,min;
max = num[0]; min = num[0];
for( i = 1 ; i < 10 ; i ++ ) {
if( max < num[i] ) {
max = num[i];
}
if( min > num[i] ) {
min = num[i];
}
}
printf("最大値は%fです。",max);
printf("最小値は%fです。",min);
}
または、qsort等で配列そのものをソートしてしまうかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングを教えて欲しいです。 配列aは、int a[9]={7,6,12,8,3,5,10,9 4 2022/12/19 23:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# C++ と、 1 2022/11/07 23:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1年単利金利 0.2% の A銀行と...
-
構文エラー";"が型の前にあり...
-
プログラミング for文
-
直角三角形を表示するプログラム
-
C言語 マスターマインドゲーム...
-
for文の中にswitch文はいれられ...
-
for文のプログラミング 私は、...
-
c言語のwhile文を使った計算で...
-
乱数を用いたプログラミング
-
C言語です
-
分散を求めるプログラム
-
C言語で、2007年度が残り何日か...
-
C言語プログラムが理解できなくて…
-
C言語 重複しない4ケタの乱数...
-
xのy乗を求める問題で…(ただし...
-
入力した数値を0~3乗するプロ...
-
2÷3などの余りについて
-
C言語で%を使わない余りの出し方
-
比較回数と交換回数表示について
-
信頼区間の1.96や1.65ってどこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
C言語階乗の総和を求める
-
配列を使って魔方陣
-
C言語 数字以外を入力させない...
-
C言語プログラムが理解できなくて…
-
配列を関数に渡す方法
-
初心者です。for文、if文を使っ...
-
scanf関数を用いての加減乗除%...
-
c言語プログラミングで1から100...
-
getcの改行判定
-
while文について、c言語...
-
プログラミングで二番目に大き...
-
VHDLで、case文とwhen文のどち...
-
C言語で電卓を作成する。
-
C言語の二分法のプログラムにつ...
-
階乗のプログラム!!
-
プログラミングに関して
-
C言語についてですfor ifをつか...
おすすめ情報