質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1303閲覧

最大値と最小値の乗算結果

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2021/05/19 14:04

編集2021/05/20 03:41

前提・実現したいこと

array = {12,11,14,10,13}
この5個の整数が格納されおり、
この配列arrayより最大値と最小値を除外した乗算結果を求めたいです

発生している問題・エラーメッセージ

該当のソースコード

#include <stdio.h>
int main (void)
{
//変数の宣言
int array[5] = {12,13,11,14,10};
int i;
int yososu = sizeof array/sizeof(int);
int gokei = 0;
int sum = 0;
int saidai; //最大値の変数
int saisyou; //最小値の変数
int value = 0;
double heikin;

//とりあえずの最大値
saidai = array[1];
//とりあえずの最小値
saisyou = array[1];

for(i = 0; i <yososu ; i++) {

//合計の計算
gokei = gokei + array[i];

//偶数のみの合計の計算
if(array[i]%2 == 0){ //偶数のみの計算を行いたいので2で割る

sum = sum + array[i]; //sumとarrayの足し算

}

//最大値の計算
if (saidai < array[i]){ //もし、配列i番目の数値がsaidaiよりも大きいとしたら

saidai = array[i]; //saidaiに配列iの数値をぶち込む //最小値の計算 if(saisyou > array[i]){ //もし、配列i番目の数値がsaisyouよりも大きいとしたら saisyou = array[i]; //saisyouに配列iの数値をぶち込む }

}
//平均値の計算
heikin = gokei / yososu;

}
if(array[i] > saidai){
if(array[i] < saisyou){
value = value * array[i];

} }

//最大値の表示
printf("最大値は、%d です。\n", saidai);

//最小値の表示
printf("最小値は、%d です。\n",saisyou);
//合計の表示
printf("配列内の値の合計値は、%d です。\n",gokei);

//要素数の表示
printf("配列の要素数は、%d です。\n" , yososu);

//平均の表示
printf("配列内の値の平均値は %f です。\n" , heikin);

//偶数のみの合計
printf("偶数のみの合計は %d \n",sum);

//最大値と最小値をの除いた乗算結果
printf("最大値と最小値を除いた乗算結果は %d \n", value);

return 0;

}

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2021/05/20 00:41

質問文を消したところで編集履歴からだれでも見れますよ?
K_3578

2021/05/20 00:43

質問解決後に質問内容を改変して意味のない文章にするのは禁止です。 仮に内容を見られたくなくて改変したとしても誰でも編集履歴から内容を確認出来ます。 何かしらの理由で質問内容を削除したいなら運営への問い合わせから相談して下さい。 https://teratail.com/contact/input
dodox86

2021/05/20 00:50

課題を質問したことの証拠隠滅のつもりなのでしょうか。こういった行為は無くなりませんね。いただいた回答と厚意を無下にする最低の行為です。
WoodenHamlet

2021/05/20 01:04

なに?わざわざベストアンサーに選んだうえでこれやるとか、ベストアンサーに選ばれずに質問が消えてた方がまだ(わざわざ見に行く必要がなくて)精神的なダメージ少なくて済むんだけど
退会済みユーザー

退会済みユーザー

2021/05/20 03:44 編集

今後気をつけます
guest

回答2

0

value の初期値が 0 なので、何を掛けても 0 になっているのだと思います。
乗算であれば初期値は 1 にすべきではないでしょうか。

投稿2021/05/19 14:25

yh1224

総合スコア653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

C

1if (xが最大値の条件) { 2 if (xが最小値の条件) { 3 do_something(); 4 } 5}

これは、xが最大値であり、かつxが最小値の時にdo_somethingする条件の書き方です。
xが最大値であるか、またはxが最小値であるかの条件でdo_somethingしたいなら

C

1if ((xが最大値の条件) || (xが最小値の条件)) { 2 do_something(); 3}

としましょう。最大値/最小値の計算や、valueの計算で条件の付け方に問題がありそうです。

投稿2021/05/19 23:58

WoodenHamlet

総合スコア306

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問