11.繰り返し(While)
<Whileステートメント>
まず、足し算を実行していって、ゼロが入力されたときにすべての計算を終了させるプログラムを書いて見ましょう。
サンプル11−1
#include <stdio.h>
int main()
{
int num,total;
num=-1;
total=0;
while(num != 0)
{
printf("整数値を入力してください。 \n");
scanf("%d", &num);
total = total + num;
printf("これまでの合計 : %d\n",total);
}
printf("ゼロが入力されました。 \n");
return(0);
}
続いて、合計が100を超えたときに終了させるようなプログラムを書いて見ましょう。
サンプル11−2
#include <stdio.h>
int main()
{
int num,total;
num=-1;
total=0;
while(total <= 100)
{
printf("整数値を入力してください。 \n");
scanf("%d", &num);
total = total + num;
printf("これまでの合計 : %d\n",total);
}
printf("計算が限界を超えました。 \n");
return(0);
}
Whileステートメントを使う際には、単純な<While>を使う場合と、<Do-While>を使う場合があります。次は、<Do-While>を使った場合の記述です。
サンプル11−3
#include <stdio.h>
int main()
{
int num,total;
num=-1;
total=0;
do
{
printf("整数値を入力してください。 \n");
scanf("%d", &num);
total = total + num;
printf("これまでの合計 : %d\n",total);
}
while(num != 0);
printf("ゼロが入力されました。 \n");
return(0);
}
<While>の場合は、条件が成り立つ間、同じ処理を続け、<Do-While>の場合は、While条件を満たした場合には、Doに戻って処理を行う。そのような、考え方に違いになっています。
前回のドルの計算を行うプログラムをWhileで書いてみたのが次のプログラムです。
サンプル10−1改
#include <stdio.h>
int main()
{コピペは自分の為ならず
double dollar,yen;
int loop;
dollar=117.49;
loop = 1;
while (loop<=100)
{
yen = dollar * loop++;
printf("%3d ドル | %8.2lf円\n",loop-1,yen);
}
return(0);
}
ちょっとだけ表現を見やすくしています。