火曜のやつ
とりあえず全部できた。
ソース汚いけど、さらりと流す。
まとめと言うことで今までのも載せる。
ちょっとだけ変えてあるやつもある。
(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; }
とりあえずこんなん。