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

Game_life_company’s diary

趣味が多めでゲーム中心の人間の雑記

C言語 プログラミング演習 #8 「do文」

みなさん、コンニチワ

 GLCOの社長です。

 

今回は、do文の勉強をやっていきたいと思います。

do文とはC言語でいくつかあるプログラムの流れを繰り返すための手段の一つです。

 

早速、例題をやっていきましょう。

 

「整数値を読み込み、その値が奇数であるか偶数であるかを判定表示する。

その後、再び行うかどうかを確認して、要望があれば繰り返すプログラムを作成せよ。」

----------------------------------------------------------------------------

#include<stdio.h>
int main(void)
{
int retry;
do{
int no;

printf("整数値を入力してください。:");
scanf("%d",&no);

if(no%2)
puts("その数は奇数です。");
else
puts("その数は偶数です。");

printf("もう一度?:[Yes.....0/No.....9]:");

scanf("%d",&retry);
}while(retry==0);

return 0;
}

-------------------------------------------------------------------------

整数値を入力してください。:34

その数は偶数です。

もう一度?:[Yes.....0/No.....9]:0

整数値を入力してください。:12

その数は偶数です。

もう一度?:[Yes.....0/No.....9]:9

となります。

 

早速、演習をやっていきましょう。

演習4-1

「整数値を読み込んで、その符号を判定する。

do文を用いて任意に終了できるようにする。」

----------------------------------------------------------------------------------

#include<stdio.h>
int main(void)
{
int no;
int retry;

do{

printf("整数を入力してください。:");
scanf("%d",&no);

if(no==0)
puts("その数は0です。");
else if(no>0)
puts("その数は正です。");
else
puts("その数は負です。");

printf("終了しますか?.....[Yes..0/No...1]\n");
scanf("%d",&retry);
}while(retry==1);

return 0;
}

------------------------------------------------------------------------------

整数を入力してください。:23

その数は正です。

終了しますか?.....[Yes..0/No...1]

1

整数を入力してください。:-3

その数は負です。

終了しますか?.....[Yes..0/No...1]

0

となりました。

 

演習4-2

「二つの整数値を読み込んで、小さい方の数以上で大きい方の数以下の全整数を加えた値を表示するプログラムを作成せよ。」

-------------------------------------------------------------------------------

#include<stdio.h>
int main(void)
{
int no1,no2;
int sum=0;
int no3;

puts("二つの整数を入力してください。");
printf("整数1:");
scanf("%d",&no1);

printf("整数2:");
scanf("%d",&no2);

if(no1>no2){
no3=no2;
sum=no3;
do{
sum+=(no3+1);
no3+=1;

}while(no3<no1);

printf("%d以上%d以下の全整数の和は%dです。",no2,no1,sum);
}else{
no3=no1;
sum=no3;
do{
sum+=(no3+1);
no1+=1;
}while(no3<no2);

printf("%d以上%d以下の全整数の和は%dです。",no1,no2,sum);

}

return 0;
}

---------------------------------------------------------------------------------

二つの整数を入力してください。

整数1:37

整数2:28

28以上37以下の全整数の和は325です。

となりました。

 

 

「複合代入子」

 

例題

「整数値を次々と読み込んで合計と平均を表示する

*複合代入演算子と後置増分演算子を利用すること。」

-------------------------------------------------------------------------------

#include<stdio.h>
int main(void)
{
int sum=0;
int cnt=0;
int retry;

do{

int t;

printf("整数値を入力してください。:");
scanf("%d",&t);

sum+=t;
cnt++;

printf("まだ?<Yes...0/No...9>:");
scanf("%d",&retry);

}while(retry==0);

printf("合計は%dで平均は%.2fです。\n",sum,(double)sum/cnt);

return 0;

}

-------------------------------------------------------------

整数値を入力してください。:4

まだ?<Yes...0/No...9>:0

整数値を入力してください。:3

まだ?<Yes...0/No...9>:0

整数値を入力してください。:5

まだ?<Yes...0/No...9>:0 

整数値を入力してください。:4

まだ?<Yes...0/No...9>:9

合計は16で平均は4.00です。

 

となりました。

今回はこの辺でおわります。

 

お疲れ様です。