読者です 読者をやめる 読者になる 読者になる

器用貧乏です。はげたかです。日記です。

どうも、はげたかです。今まで器用貧乏に生きてきました。ジェネラリスト・フルスタックエンジニアを目指しています。

今日の一言:カテゴリ分けをしっかりしたらPVあがるかな?

【C言語】高橋 麻奈 『やさしいC』1回目

1日1コードと謳っていたものの、まだ何もやっていなかったので、プログラミング関係の記事を書きたいと思う。

今回は、前記の授業で買ったが手を付けていなかった『やさしいC』を参考に書きたいと思う。
この記事は、メモと練習問題に対する答えをリアルタイムに書いていく。

Lesson4

練習問題5

科目1 の点数を入力してください。
○○
科目2 の点数を入力してください。
○○
科目3 の点数を入力してください。
○○
科目4 の点数を入力してください。
○○
科目5 の点数を入力してください。
○○
5科目の合計点は○○点です。
5科目の平均点は○○.○○○点です。

の出力が問題だ。

それに対する私のコードは、

#include 
int main(void) {
    int i;
    int sum = 0;
    int sub;
    double ave = 0;
    for(i=0;i < 5; i++){ 
        printf("科目%d の点数を入力してください。\n",i+1);
        scanf("%d", &sub);
        sum = sum + sub;
    }
    printf("%dの合計点は%d点です\n",i, sum);
    ave = (double)sum / (double)i;
    printf("%dの平均点は%f点です\n",i, ave);
    return 0;
}

科目?の繰り返しは面倒だと思ったのでiをforで回してみた。
個人的には綺麗にかけたと思っている。

メモ

C言語に久しぶりに触れたので少々忘れている部分が多々あった。

int sum;

sum = sum + sub;

をやると、当然ながらsumを初期化していないため、変な数値になる。
ここで先ほどつまずいていた。

また、同じ型同士の計算で、結果を異なる型に入れる場合は、

ave = (double)sum / (double)i;

とキャストをして、型を変えておかないといけない。

Lesson6

メモ

\t → タブ

for(--; ~の間処理を繰り返す; --)
while(~の間処理を繰り返す)

上の2つ今まで適当に入れて、動いたら成功。って形でやってたので、これを機に覚えたい。

終わりに

今日は、ポインタ前で終わりにする。
次はポインタから構造体、ファイル操作について書きたいと思う。

広告を非表示にする