遅刻の「言い訳」選手権

c言語プログラミングで1から100までの数字の合計ちと平均値を求めるプログラムを作成をできるかたお願いします
2つの値をfloat型でお願いします

A 回答 (4件)

float sum;


float average;
int i;

for(i=1, sum=0; i <= 100; sum += (i++));
average = sum/(i-1);
    • good
    • 1

こんな方法もあります。

再帰処理と言います。

#include <stdio.h>

float sum(float min, float max)
{
if (min < max)
return min + sum(min + 1, max);
else
return min;
}

void main()
{
float goukei;
float heikin;

goukei = sum(1, 100);
heikin = goukei / 100;

printf("合計 = %f 平均 = %f\n", goukei, heikin);
}
    • good
    • 1

No1の方のように力技で行う方法が自然な方法ですが、


この問題は、等差数列の和を求めることになるので、
1から100までの数字の合計=(1+100)×100÷2
となります。
等差数列の和については、下記URLを参照。
http://www.kwansei.ac.jp/hs/z90010/sugakua/suure …
http://mathwords.net/tousasuretsunowa

したがって、プログラムは、以下のようになります。
#include <stdio.h>
int main()
{
float goukei;
float heikin;
goukei = (1.0+100.0)*100.0/2.0;
heikin = goukei/100.0;
printf("合計=%f 平均=%f\n",goukei,heikin);
return 0;
}

以下実行結果です。
合計=5050.000000 平均=50.500000
    • good
    • 2

#include <stdio.h>



int main()
{
float goukei;
float heikin;

goukei = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
+ 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20
+ 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30
+ 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40
+ 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50
+ 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60
+ 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70
+ 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80
+ 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90
+ 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 + 100;
heikin = goukei / 100;
printf("合計 = %f 平均= %f\n", goukei , heikin);
return 0;
}

コンパイルしてませんが。
    • good
    • 6

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


おすすめ情報