※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

問46 Differential

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0046
標高データを読み込んで一番高い山と低い山の差をこたえる問題。
簡単な問題なので書くことがありません。

#include<stdio.h>

int main(){
 	double min,max,a;
	scanf("%lf",&min);
	max=min;
 	while(scanf("%lf",&a)!=EOF){
		min=min>a?a:min;
		max=max>a?max:a;
 	}
	printf("%lf\n",max-min);
}


問47 Cup Game

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0047
カップゲームの操作結果をこたえる問題。
簡単なので何も工夫するところがありません。

#include<stdio.h>
int main(){
	char b='A',c1,c2;
 	while(scanf("%c,%c%*c",&c1,&c2)!=EOF){
		b=(b==c1)?c2:b==c2?c1:b;
 	}
	printf("%c\n",b);
}


問48 Class

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0048
体重からボクシングの階級をこたえる問題。
簡単なので何も工夫するところがありません。

#include<stdio.h> 
int main(){
	char lank[11][20]={	"light fly","fly","bantam","feather",
 				"light","light welter","welter","light middle",
				"middle","light heavy","heavy"};
	double w;
 	while(scanf("%lf",&w)!=EOF){
		int p=(w>48)+(w>51)+(w>54)+(w>57)+(w>60)+(w>64)+(w>69)+(w>75)+(w>81)+(w>91);
		printf("%s\n",lank[p]);
	}
}


問49 Blood Groups

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0049
血液型を集計する問題。
ハッシュ関数通して集計するだけです。

#include<stdio.h>

int main(){
	char type[3];
 	int n;
	int count[4]={0};
	while(scanf("%d,%s",&n,type)!=EOF){
		count[((type[0]=='B'))+(3*(type[0]=='O'))+(2*(type[1]=='B'))]++;
 	}
	for(int i=0;i<4;i++)printf("%d\n",count[i]);
}



問50 Apple and Peach

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0050
置き換えする文字数が同じなら簡単で手抜きで解きます。


#include<stdio.h>
#include<string.h>

bool test_change(char *c1,char *c2,char *c3){
	for(int i=0;i<5;i++){
		if(c1[i]!=c2[i])return false;
 	}
	memcpy(c1,c3,5);
	return true;
}

int main(){
	char text[1001];
	char *ret;
	int i=0;
	while(scanf("%c",&text[i++])!=EOF);
	text[i-1]='\0';
	ret=text;
	while(ret[0]!='\0'){
		if(!test_change(ret,"apple","peach")){
			test_change(ret,"peach","apple");
		}
 		ret++;
	}
	printf("%s",text);
}