今日の人気記事

  1. printf関数の変換指定子
  2. int main(void) - プログラムの基本
  3. 条件演算子(3項演算子)「? :」
  4. 入力した2つの自然数の最大公約数を求める
  5. エスケープシーケンス - 特殊文字

1から入力した自然数までの総和を計算する

当ページのリンクには広告が含まれています。

スポンサーリンク

ここでは1から入力した自然数までの総和(和)を計算するサンプルプログラムを紹介します。

例えば、「30」という自然数を入力すると

$$ 1 + 2 + 3 + \cdots + 29 + 30 = \sum_{n=1}^{30} n $$

といった和を計算するプログラムをみていきます。

まずは自然数の定義を確認しておきましょう。

自然数

自然数とは、「1, 2, 3, ...」といった正の整数のことです。

「-1」は、負の整数なので自然数ではありません。また「0」も自然数ではありません。

サンプルプログラム - 1から入力した自然数までの総和を

それでは実際にfor文を使って、1から入力した自然数までの総和を計算するサンプルプログラムをみてみましょう。

入力した数値が自然数でない場合はif 〜 else文を使って、コメントを出力するようにしています。

/*
 * C言語のサンプルプログラム - Webkaru
 * - 1から入力した自然数の総和を計算 -
 */
#include <stdio.h>
 
int main(void)
{

  int i;

  /* 自然数 */
  int num;

  /* 総和 */
  int sum = 0;

  /* 自然数を入力 */
  printf("自然数を入力してください = ");
  scanf("%d", &num);

  /* 入力された数が自然数かどうかを確認 */
  if(num<1) {
     printf("自然数は0より大きな正の整数です。\n");
     printf("1, 2, 3, ... みたいな数です。\n");
     printf("もう一度、プログラムを動かし、数を入力しましょう。\n");
  }
  /* 自然数であれば、総和を計算*/
  else {
    for(i=1;i<=num;++i){
      sum = sum + i;
    }
    /* 計算した総和を出力 */
    printf("総和 = %d\n", sum);
  }

  return 0;
}

サンプルプログラムで使っている構文

実行結果

いくつかの実行結果です。

自然数を入力してください = 10
総和 = 55
自然数を入力してください = 30
総和 = 465
自然数を入力してください = 50
総和 = 1275
自然数を入力してください = -10
自然数は0より大きな正の整数です。
1, 2, 3, ... みたいな数です。
もう一度、プログラムを動かし、数を入力しましょう。
自然数を入力してください = 0
自然数は0より大きな正の整数です。
1, 2, 3, ... みたいな数です。
もう一度、プログラムを動かし、数を入力しましょう。

いろいろな数値を入力してみました。

サンプルプログラム の人気記事

  1. 10進数を2進数に変換する
  2. 入力した自然数の階乗を計算する
  3. 入力した2つの数値の掛け算・割り算する
  4. 配列に格納した数値を昇順ソートする
  5. フィボナッチ数の計算する
  6. for文 - 1つ飛ばしの繰り返し処理を実行する(奇数・偶数)
  7. サンプルプログラム集
  8. 2次方程式の解を計算する
  9. 入力した2つの自然数の最大公約数を求める
  10. 入力した行列の積(掛け算)を計算する

関連記事(一部広告含む)