dポイントプレゼントキャンペーン実施中!

キーボードより数値データを10件連続入力し、そのデータの平均値を求め、その平均値より大
きな値のみを1行で連続出力するプログラムを作成しなさい。平均値の小数点以下は切り捨てでかま
いません。できたら配列を使い、for文やif文を使って簡単にお願いします
数値1> 81
数値2> -12
数値3> -3
数値4> 12
数値5> 16
数値6> 65
数値7> -45
数値8> 2
数値9> -74
数値10> 55
平均値 : 9
81 12 16 65 55

A 回答 (3件)

ヒントその弐



<script>addEventListener('load',function(){
function calculate(ev) {
ev.preventDefault();
var dat = ev.target.elements['dats'].value;
var arr = dat.split(/\s*[\n,]\s*/).map(function(d){return parseFloat(d)});
var avr = (arr.reduce(function(p, c){return p + c}, 0) / arr.length) | 0;
var rep = arr.filter(function(n){return avr < n}).join(' ');
ev.target.elements['reps'].value = rep;
}
document.getElementsByName('calc')[0].addEventListener('submit', calculate, false);
}, false)</script>
<form name="calc">
<p>
<textarea cols=32 name=dats>81,-12,-3,12,16,65,-45,2,-74,55</textarea>
<button type=submit>calc</button>
<p>
<output name=reps></output>
</form>

配列を使って簡単に記述しました
JavaScript ですが
    • good
    • 0

大ヒント!!




#include <stdio.h>

int main(void)
{
int i,cnt=0,n[10],sum=0,ave;

for( i=0; i<10; i++)
{
printf("数値%d>", i);
scanf("%d", &n[i]);

sum += n[i];
}

ave = sum / 10;

for( i=0; i<10; i++)
{
if(n[i] > ave)
{
printf("%d ", n[i]);
}
}

puts("");

}



C言語ですけど。
    • good
    • 0

テスト込みで1人月程度かかるので100万円はもらわないといけませんが、支払えますか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!