私の他の質問で参照されているのと同じマシンと IDE を使用する (コード内の問題または私の IDE/comp の 3 番目の段落にバグがありますか? )
私はこのコードを実行しようとします:
#include <stdio.h>
#define n 3
int main()
{
int i;
float values[n],sumval,svmean,tmp;
for(i=0;i<n;++i)
{
scanf("%f",&tmp);
values[i]=tmp;
sumval = sumval + values[i];
}
svmean = sumval/n;
printf("%f \n",svmean);
return(0);
}
上記のコードは、この式を実行することになっています
つまり、いくつかの値を追加し、結果をそれらの合計数で割る必要があります。
上記のように、ランダムなn
位置の配列を作成し、ユーザーに各位置の値を入力してから、それらをすべて加算して除算するように求めます。
問題は、それが機能しないことです。入力が何であれ、結果7のみを出力します。
しかし、コードに stdlib.h を含めると、正常に動作します。
それで
- 質問 A : stdio.h ライブラリだけを使用すると、コードが正しく動作しないのはなぜですか? コードのどの要素が stdlib.h ライブラリを必要としますか?
ご覧のとおり、配列values[n]
にはランダムなn
数のセルがあるように見えますが、実際には、この数値を 3 に等しく設定しています ( を使用#define
)
- 質問 B : 同じポルプスを使用してコードを実行する方法はありますか? ユーザーが配列のサイズを定義できるようにする、
values[n]
つまり in の値を設定する整数をユーザーに入力させる方法はありますn
かvalues[n]
?