以下の配列内の最小値、最大値を求めるプログラムに平均値を求める変数をdouble型で追加をしたい。
整数値のデータはmain関数内で、初期化する
int a[12] = {45, 57, 79, 60, 5, 38, 67, 55, 96, 33, 10, 73};
よろしくお願いいたします。
C ```コード ```C #include <stdio.h> #define SIZE 5 void min_max(int a[], int n, int *min, int *max) { int i; *min = *max = a[0]; for (i=1; i<n; i++) { if (a[i] < *min) *min = a[i]; else if (a[i] > *max) *max = a[i]; } } int main(void) { int a[SIZE] = {45, 79, 60, 38, 55}; int min, max; min_max(a, SIZE, &min, &max); printf("%d\n", min); printf("%d\n", max); return 0; }
> よろしくお願いいたします。
なにをよろしくお願いしてるんです?
平均値を求める変数をdouble型で追加するために、なにをしてほしいのですか?
ポインタとして宣言し、最小値、最大値と同様に呼びだし元の変数に直接、平均値を格納するように作成する手順を教えていただきたいのです。
なにがわからんですか? 現min_maxと同じことすればいい。
総和を要素数で割れば平均値ですけど。
# なにがわからんかを説明できてない。
質問の体裁(見てくれ)がぐちゃぐちゃです。やりなおし。
体裁を少しなおしてみましたが、現状もあまり改善されていないようです。対応方法が分からないでおります。平均値の回答ありがとうございます。可能でありましたら、上の最小値と最大値のプログラムの中に平均値を加えていただけたらと思います。その際main関数の中で配列を初期化する形式で
int a[12]={45, 57, 79, 60, 5, 38, 67, 55, 96, 33, 10, 73}を使用し、データ出力には
38
79
55.40
となるようにお願いいたします。
お手数おかけしまして申し訳ありません。
ごめん、なにがわからんかわからんです。僕のコードを現 min_max に組み入れればいいんでしょ?
void min_max(int a[], int n, int *min, int *max, double* mean) {
.... 最大値/最小値のついでに総和も求めておく
*mean = 総和 / n;
}
# 「そのものヅバリ」じゃないと満足できない? それを"丸投げ"というんだが。
> 体裁を少しなおしてみましたが、現状もあまり改善されていないようです。
` も `` も ```` も全部削除してください。
そして、#include <stdio.h> の直前に ```C という行を追加してください。
コードの最後の } の次に ``` という行を追加してください。
投稿後どんなふうに表示されるかは下に見えるので、それでよければ送信してください。
行ってみます。また、質問させていただくかもしれません。体裁の件承知いたしました。この後行います。
フツーにベタ書きし、コード部分を 「```C」 と 「```」 で挟むだけなんだがなー...
承知いたしました。ありがとうございます。
その後、平均値を小数点以下2桁で表示するため、苦戦しております。
試した方法として、
printf(”%”2lf\n", mean);
printf(”%”0.2lf\n", mean);
です。いずれもダメでした。
例えば 11.10と表示させたいのに11.100000と表示されてしまいます。
ご教示いただけたらと思います。
回答1件
あなたの回答
tips
プレビュー