MISW.github.io

問題

ユーザーから2つの整数を入力してもらい、大きい方を出力するプログラムを作る

以下解答

#include<stdio.h>

int main(){
	int a,b;
	
	printf("1つめの数を入力してください\n");
	scanf("%d",&a);
	printf("2つめの数を入力してください\n");
	scanf("%d",&b);
	
	if(a>b){
		printf("%dが大きい数でした。",a);
	}
	else{
		printf("%dが大きい数でした。",b);
	}
	return 0;
}

2つの数でやる時はこのように比較してやるだけで十分です。
しかし3つの数でやる時は工夫が必要です。

問題

3つの整数を入力してもらい、一番大きいプログラムを作れ
ヒントとしてはif文では1つと1つの比較しかできないので、どうするかを考える。
さらにヒントとしては,現時点での最大値を入れる変数を作る。

以下解答

#include<stdio.h>

int main(){
	int a,b,c,max;
	
	printf("1つめの数を入力してください\n");
	scanf("%d",&a);
	printf("2つめの数を入力してください\n");
	scanf("%d",&b);
	printf("3つめの数を入力してください\n");
	scanf("%d",&c);
	
	max = a;
	if(b > max){
		max = b;
	}
	if(c > max){
		max = c;
	}
	
	printf("%dが一番大きい数でした。",max);
	
	return 0;
}

上のように現時点での最大値を順番順番に決めてやれば作ることができます。