読者です 読者をやめる 読者になる 読者になる
【スポンサーリンク】

【C言語解説】 C言語練習 R021 - 点数から合計を表示する

こちらのサイト

C言語練習
http://www.geocities.jp/kenji_y0328/crenshu/

の問題を実際に解いていったので、「解説」という形でまとめていこうかと思っています。
ちなみに、こちらのサイトでは解答もありますが、自分の解答を元に解説していきます。

※作者様からの削除依頼がありましたらすぐに削除しますのでご報告頂けると幸いです。

カテゴリの「C言語練習」でまとめています。

【問題】

点数を10件入力し、その合計を表示する。

【コード】

#include<stdio.h>
main(){
    int i,tensu, heikin, goukei=0;
    
    for(i=1; i<=10; i++){
        printf("%d人目の点数=",i); scanf("%d", &tensu);
        goukei += tensu;
    }
    heikin = goukei/10;
    
    printf("合計=%d  平均=%d", goukei, heikin);
    return 0;
}

【考え方】

  • int型の「i」「tensu」「heikin」「goukei」を宣言する。
  • 「i」を「◯人数」として表示できるように for 文で利用する。
  • 「tensu」に標準入力処理をする。
  • 「tensu」に入力する度に「goukei」に加算していく
  • 10人分入力したら「heikin」に平均点を算出した値を代入する。
  • そして最後に標準出力で「goukei」と「heikin」を出力する。

【個人的な意見】

for 文を使うとグッとシーケンス制御処理(決められた処理のこと)っぽい処理が出来るようになりますよね。
10人まで入力してください→計算処理します→表示します、みたいな感じで。


さらに for 文を while 文にすると、10人という制約をなくすことも出来ます。


while 文は「~になるまで」という性質を持ちます。

なので例えば

while(tensu != 0){
//処理
}

このような while 文を書くと「tensu」が0でないなら処理を実行。0なら while 文を抜ける、というようになります。

【スポンサーリンク】