Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語でファイルを使って0〜100の乱数の合計を計算する方法を解説

このプログラムでは、0から100の間で生成された乱数を合計する処理を行います。実行するたびに乱数が新しく生成されるため、プログラムを実行するたびに合計値は異なる結果になります。

乱数の合計を求める基本的なロジック

0〜100の範囲の乱数の合計を計算するために使用するロジックは以下の通りです。ループ処理の中で乱数を配列に格納しながら、同時に合計値を加算していきます。

for(i = 0; i <=99; i++){
    // 乱数を配列に格納する
    num[i] = rand() % 100 + 1;
    // 乱数の合計を計算する
    sum+= num[i];
}

まず乱数の合計を計算し、その合計値をファイルに保存します。ファイルへの書き込みには、fopen関数で書き込みモード("w")でファイルを開き、fprintf関数を使って合計値をファイルに追記します。

fprintf(fptr, "Total sum of the array is %d\n", sum);
// 合計値を配列ファイルに追記する

サンプルコード

以下は、0〜100の乱数を100個生成してその合計を求め、結果をテキストファイルに書き出す完全なCプログラムです。srand(time(0))によって毎回異なる乱数列が生成されるようになっています。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 100
// メインヘッダー内でmain関数を宣言する。
int main(void){
    srand(time(0));
    int i;
    int sum = 0, num[max];
    FILE *fptr;
    // 100個の乱数を生成するためのループを宣言
    for(i = 0; i <=99; i++){
        // 乱数を配列に格納する
        num[i] = rand() % 100 + 1;
        // 乱数の合計を計算する
        sum+= num[i];
    }
    // ファイルポインタを書き込みモードで初期化する
    fptr = fopen("numbers.txt", "w");
    // ファイルポインタがNULLかどうかを確認し、終了するかどうかを判定する
    if(fptr == NULL){
        printf("Error!");
        exit(1);
    }
    fprintf(fptr, "Total sum of the array is %d\n", sum); // 合計値をファイルに追記する
    fclose(fptr); // ファイルポインタを閉じる
}

実行結果

Run 1: Total sum of the array is 5224
Run 2: Total sum of the array is 5555
注意:プログラム実行後、同じフォルダ内に number.txt というテキストファイルが作成されます。
このファイルを開くと、乱数の合計値を確認できます。

ポイントまとめ

  • rand() % 100 + 1 により、1〜100の範囲の乱数を生成できます。
  • srand(time(0)) を使うことで、実行ごとに異なる乱数列を得られます。
  • ファイル操作の後は fclose で必ずファイルを閉じ、リソースリークを防ぎましょう。
  • ファイルが正しく開けなかった場合に備え、NULLチェックによるエラー処理も重要です。
  1. Excelで2つの数値の差の割合(増減率)を計算する方法

    2つの数値の差をパーセンテージで把握したいときに役立つのが「パーセント変化(増減率)」の計算です。Microsoft Excelは、こうした計算を簡単に行える強力なツールです。この記事では、Excelで2つの数値の差の割合を求める方法をわかりやすく解説します。 Excelで2つの数値の増減率を計算する手順 パーセント変化は、時間の経過とともに測定されるあらゆる数量に応用できる概念です。一定期間における変化の度合いを表すシンプルな数学的手法であり、基本の数式さえ覚えれば、誰でも簡単に計算できます。 手順1:値を入力する パーセント変化は、次の式で定義されます。 変化率 =(新しい値 − 元の値)

  2. SHAREitを使ってノートパソコン間でデータ・ファイルを高速転送する方法

    かつて、パソコン間でデータをやり取りするのは骨の折れる作業でした。USBメモリや外付けハードディスク、LANケーブルなどを持ち歩き、ようやくデータ転送ができたものです。しかし今のスマートな時代では、パソコン間のデータ共有を手軽に行える無料アプリが数多く登場しています。その代表的な存在が「SHAREit」です。このアプリを使えば、Bluetoothの約200倍の速さでデータを共有でき、さらにモバイルデータ通信プランやWi-Fiネットワーク環境も不要です。本記事では、SHAREitを使ってノートパソコンから別のノートパソコンへデータやファイルを転送する具体的な手順をご紹介します。SHAREitで2