火曜のやつ

とりあえず全部できた。

ソース汚いけど、さらりと流す。

まとめと言うことで今までのも載せる。

ちょっとだけ変えてあるやつもある。

(1)一番面倒臭かった。

#include <stdio.h>

int main(void) {
	int x, c;
	
	printf("input money : ");
	scanf("%d", &x);
	
	if (!x) {	//xが0のとき動く
		printf("sheets 0\n");
		return -1;
	}
	
	printf("sheets\n");
	
	if (x >= 10000) {
		c = x % 10000;
		x /= 10000;
		printf("\t10000 - %3d\n", x);
		x = c;
	}
	if (x >= 5000) {
		c = x % 5000;
		x /= 5000;
		printf("\t 5000 - %3d\n", x);
		x = c;
	}
	if (x >= 1000) {
		c = x % 1000;
		x /= 1000;
		printf("\t 1000 - %3d\n", x);
		x = c;
	}
	if (x >= 500) {
		c = x % 500;
		x /= 500;
		printf("\t  500 - %3d\n", x);
		x = c;
	}
	if (x >= 100) {
		c = x % 100;
		x /= 100;
		printf("\t  100 - %3d\n", x);
		x = c;
	}
	if (x >= 50) {
		c = x % 50;
		x /= 50;
		printf("\t   50 - %3d\n", x);
		x = c;
	}
	if (x >= 10) {
		c = x % 10;
		x /= 10;
		printf("\t   10 - %3d\n", x);
		x = c;
	}
	if (x >= 5) {
		c = x %5;
		x /= 5;
		printf("\t    5 - %3d\n", x);
		x = c;
	}
	if (x >= 1){
		printf("\t    1 - %3d\n", x);
	}
	
	return 0;
}

(2)例外処理面倒臭かったから省略

#include <stdio.h>

int main(void) {
	int sh, sm, eh, em;
	int ha, ma;
	
	printf("time(1〜24), minutes(0〜59)\n\n");
	printf("departure\n time : ");
	scanf("%d", &sh);
	printf(" minutes : ");
	scanf("%d", &sm);
	
	printf("arrival\n time : ");
	scanf("%d", &eh);
	printf(" minutes : ");
	scanf("%d", &em);
	
	if ((ha = eh - sh) < 0) ha = (24 - sh) + eh;
	if ((ma = em - sm) < 0) ma = (60 - sm) + em;
	
	printf("departure -> %d : %d\n", sh, sm);
	printf("arrival   -> %d : %d\n", eh, em);
	printf("lead time : %3d hour%3d minutes", ha, ma);
	
	return 0;
}

(3)ここは相変わらずxかyのどちらかの処理でいい。

#include <stdio.h>

int main(void) {
	int x, y;
	
	printf("input value : ");
	scanf("%d", &x);
	
	y = x;
	
	if (!x) {	//xが0のとき動く
		printf("value : %d\n", x);
		printf("value : %d\n", y);
		return -1;
	}
	
	while(!(x % 2)) {
		x /= 2;
	}
	while(!(y & 1)) {
		y >>= 1;
	}
	
	printf("value : %d\n", x);
	printf("value : %d\n", y);
	
	return 0;
}

(4)

#include <stdio.h>

int main(void) {
	int i;
	
	for (i = 1; i <= 10; i++) printf("%2d : %3d\n", i, i*i);
	
	return 0;
}

(5)

#include <stdio.h>

int main(void) {
	int x, w, h;
	int s = 0, max_s = 0;
	int a;
	int min_h = 0;
	int i;
	
	printf("input (cm):");
	scanf("%d", &a);
	
	if (!a) {	//aが0のとき動く
		printf("cut : %d\n", a);
		printf("volume : %d\n", a);
		return -1;
	}
	
	x = a * 10;
	
	for (i = 1; i < x / 2; i++) {
		w = x - i * 2;
		h = i;
		s = w * w * h;
		if (s > max_s) {
			max_s = s;
			min_h = h;
		}
	}
	
	printf("cut : %d mm\n", min_h);
	printf("volume : %.3f cm^3\n", (float)max_s / 1000);
	
	return 0;
}

(6)

#include <stdio.h>

int main(void) {
	int x;
	int a, b;
	
	printf("0(g)〜1000(g) input : ");
	scanf("%d", &x);
	
	if (!x) {	//xが0のとき動く
		printf("money : 0 円\n", x);
		return -1;
	}
	
	if (x > 50) {
		a = x / 50;
		b = 41 + (a - 1) * 5;
	} else {
		b = 41;
	}
	printf("money : %d 円\n", b);
	
	return 0;
}

とりあえずこんなん。