プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (4件)

#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

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>

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

float sum;


float average;
int i;

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

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


このQ&Aを見た人がよく見るQ&A