/* 1からnまでの和 */
#include <stdio.h>

int main(void)
{
  int i,n,sum ;

  printf("正の整数:") ;
  scanf("%d",&n) ;
  if(n<1) {
    printf("nが誤りです。\n") ;
    return(1) ;
  }

  sum=(n*(n+1))/2 ;
  printf("計算式の結果=%d\n",sum) ;

  i=1 ;
  sum=0 ;
  while(i<=n) {
    sum=sum+i ;
    i++ ;
  }
  printf("前判定反復の結果=%d\n",sum) ;

  sum=0 ;
  for(i=1;i<=n;i++) sum=sum+i ;
  printf("回数指定反復の結果=%d\n",sum) ;

  return(0) ;
}


% gcc -Wall sample.c
% ./a.out
正の整数:0
nが誤りです。

% ./a.out
正の整数:10
計算式の結果=55
前判定反復の結果=55
回数指定反復の結果=55

  1. 最初の実行例は,正の整数を入力しなかった例であり,1からnまでの合計は求めない.
  2. 2番目の実行例は,10を入力すなわちnを10とした例で,1から10までの合計を3通りの手順で求めている.当然であるが,3通りの方法ともに合計55となる.