第4回の演習の解答例

(1) 何時間,何分,何秒と3つの整数を入力すると,秒数に換算するプログラム



#include <stdio.h>
void main()
{
 	int h,m,s;

 	printf("何時間?"); scanf("%d",&h);
 	printf("何分?"); scanf("%d",&m);
 	printf("何秒?"); scanf("%d",&s);

 	printf("秒数に変換すると%d秒です.¥n",h*3600+m*60+s);

}

(2) テストの点数を入力し,成績判定をするプログラム



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

 	printf("テストの点数を入力してください¥n");

 	printf("点数 : "); scanf("%d",&score);

 	if(score>=90){						/*以下,成績判定*/
		printf("判定はS¥n");
	}else if(score>=80){
		printf("判定はA¥n");
	}else if(score>=70){
		printf("判定はB¥n");
	}else if(score>=60){
		printf("判定はC¥n");
	}else{
		printf("判定はF¥n");
	}

}

(3) 整数nを入力し,その値が正負及び偶数・奇数か判定するプログラム



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

 	printf("n="); scanf("%d",&n);

 	if(n==0){
		printf("入力された数は0です.¥n");
	}else if(n>0){							/*正負の判定*/
		if(n%2==0){
			printf("入力された数は正で偶数です.¥n");		/*偶奇の判定*/
		}else{
			printf("入力された数は正で奇数です.¥n");
		}
	}else {
		if(n%2==0){
			printf("入力された数は負で偶数です.¥n");
		}else{
			printf("入力された数は負で奇数です.¥n");
		}
	}
}

(4) 西暦を入力し,うるう年かどうか判定するプログラム



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

 	printf("西暦何年ですか?"); scanf("%d",&year);

 	if((year%4==0 && year%100!=0) || year%400==0){		/*論理演算子を用いた判定*/
		printf("うるう年です.¥n");
	}else{
		printf("うるう年ではありません.¥n");
	}

}

(5) 3の倍数と3のつく数字の時アホと表示されるプログラム


#include <stdio.h>
void main()
{
	int n;
	
	printf("1~40までの好きな数字を入力してください¥n");
	scanf("%d",&n);

	if(n<=0 || 40<n){
		printf("1~40の数字ではありません¥n"); /* 0以下及び40以上の場合除外 */
		}
	else {                                        /* 0~40の場合以下の条件分岐 */

		if(n%3==0 || n%10==3 || n/10==3){
			printf("アホ¥n");                 /* 3の倍数と3のつく数字がアホとなる */
			   }
		else {
			printf("正常¥n");
			}
}

(6) A君とBさんがじゃんけんをして,二人の手を入力すると,どちらが勝ったのかを判定するプログラム



#include <stdio.h>
void main()
{
 	int a,b;

 	printf("a君とb君がじゃんけんします.¥nグー : 1 チョキ : 2 パー : 3¥n");

 	printf("a君は何を出しますか?¥n"); scanf("%d",&a);
 	printf("b君は何を出しますか?¥n"); scanf("%d",&b);

 	if(a==1 && b==2){
		printf("a君が勝ちです.¥n");
	}else if(a==1 && b==3){
		printf("b君が勝ちです.¥n");
	}else if(a==2 && b==1){
		printf("b君が勝ちです.¥n");
	}else if(a==2 && b==3){
		printf("a君が勝ちです.¥n");
	}else if(a==3 && b==1){
		printf("a君が勝ちです.¥n");
	}else if(a==3 && b==2){
		printf("b君が勝ちです.¥n");
	}else{
		printf("あいこです.¥n");
	}
}

(7) 1日の作業時間を入力し,アルバイト料を求めるプログラム



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

 	printf("作業時間=¥n"); scanf("%d",&hour);

 	if(hour<=7){
		printf("給料は¥¥%dです.¥n",hour*850);
	}else if(hour>7 && hour<=10){
		printf("給料は¥¥%dです.¥n",7*850+(hour-7)*900);
	}else{
		printf("給料は¥¥%.0fです.¥n",(7*850+3*900+(hour-10)*1000)*1.2);
	}
}