[C言語]1からnまでのすべての整数の積を求めるプログラム

プログラミング
<<プログラミングを学びたい方はこちら!>>

今回は以下のプログラムの書き方を解説していきます。

整数型変数 n を定義し,1 以上の値をキーボードから入力して,1 から n までのすべての整数の積を求めるプログラムを作成せよ.

サンプルコードと実行結果

整数型変数 n を定義し,1 以上の値をキーボードから入力して,1 から n までのすべての整数の積を求めるプログラムを作成せよ.

サンプルコード

コードは以下の通り (/**/で囲まれた部分は説明文のためコードではないです)

#include<stdio.h>

int main(){

    /*整数型変数nを定義*/
    int n;
    /*合計値を格納する整数型変数sumを定義*/
    int sum=1;
    /*システム制御用の整数型変数iを定義*/
    int i;

    /*数値をキーボードから代入*/
    printf("1以上の数値を入力してください\n");
    printf("入力:n=");
    scanf("%d",&n);

    /*1~nまでの整数の総和を求める*/
    /*forループ,またはwhileループを利用する*/
    /*iは1から始まり1ループ終わるごとにiは+1される*/
    for(i=1;i<n+1;i++){
        /*sumにiを足していく*/
        /*sum*=iとsum=sum*iは同じ挙動をする*/
        sum*=i;
    }

    printf("出力:sum=%d",sum);

    return 0;
}

実行結果

実行結果は以下の通り

1以上の数値を入力してください
入力:n=5
出力:sum=120

補足説明を以下でしていきます。

繰り返し処理の挙動

上記のプログラムの繰り返し部分を解説します。

for文による繰り返し

以下のページでwhile文とfor文の解説をしています。

[C言語]1からnまでの整数の総和を求めるプログラム(while/for解説)
今回は以下のプログラムの書き方を解説していきます。整数型変数 n を定義し,1 以上の値をキーボードから入力して,1 から n までの整数の総和を求めるプログラムを作成せよ.サンプルコードと実行結果整数型変数 n ...

サンプルコードの挙動

まずsumの初期値を1とします(0にしてしまうと何を掛けても0なので注意)

繰り返し変数 i の初期値を1にします(sumに1から順に掛けていくため)

条件式は i < n + 1 にします
(例えば、5までの積を求めたい場合 n = 5 の時に条件を満たさなければループに入らないため、条件式は 5 より 1 多い i < 6 となります)

ここからfor文のループに入ります

  1. sumに i を掛けていきます(1回目は sum = 1 , i =1)
  2. i が ++ (+1と同じ意味)されます
  3. i < n + 1 を満たしていれば再びループに入り、1に戻ります
  4. i < n + 1 を満たしていないときループを抜けます

おすすめ参考書紹介

「苦しんで覚えるC言語」はひとつひとつの要素をスローモーションでゆっくり確実に解説していることが特徴です。真面目にC言語を覚えたい初心者向けで、コツコツと確実に力をつけていくことができます。

「スッキリわかるC言語入門 第2版 (スッキリわかる入門シリーズ)」は「苦しんで覚えるC言語」に比べより親しみやすいイラストや構成で苦手意識を持ちにくい工夫が施されています。

コメント

タイトルとURLをコピーしました