2019-01-11

Hyeonu_Chun·2021년 6월 21일
0

HW30

#pragma warning (disable : 4996)
#include <stdio.h>

int main() {
	int num;
	unsigned int num1 = 0x80000000;
	printf("* 10진수 정수를 입력하시오 : ");
	scanf("%d",&num);
	printf("%d(10) = ", num);
	for (int i = 1;i <= 32;i++) {
		if ((num1 & num) != 0) printf("1");
		else printf("0");
		num1 = num1 >> 1;
	}
	printf("(2)");
	return 0;
}

HW32

#pragma warning (disable : 4996)
#include <stdio.h>

int inputUInt(const char *);
double inputDouble(const char *);
int ipow(int, int);
double fpow(double, int);

int main() {
	{
		int inum = inputUInt("* 양의 정수 밑을 입력 하시오 : ");
		int N = inputUInt("* 양의 승을 입력 하시오 : ");
		int res = ipow(inum, N);
		printf("%d의 %d승은 %d입니다.\n\n", inum, N, res);
	}
	{
		double fnum = inputDouble("* 양의 실수 밑을 입력 하시오 : ");
		int N = inputUInt("* 양의 승을 입력 하시오 : ");
		double res = fpow(fnum, N);
		printf("%.2lf의 %d승은 %.3lf입니다.", fnum, N, res);
	}
	return 0;
}

int inputUInt(const char *msg) {
	int num;
	printf("%s", msg);
	scanf("%d", &num);
	return num;
}

double inputDouble(const char *msg) {
	double num;
	printf("%s", msg);
	scanf("%lf", &num);
	return num;
}

int ipow(int num, int N) {
	int i = 1;
	int sum = 1;
	while (i <= N) {
		sum = sum * num;
		i++;
	}
	return sum;
}

double fpow(double num, int N) {
	int i = 1;
	double sum = 1.0;
	while (i <= N) {
		sum = sum * num;
		i++;
	}
	return sum;
}

HW34

#pragma warning (disable : 4996)
#include <stdio.h>
#include <string.h>

int input(const char *);
double calc(int, int);
void output(int, int, double);

int main() {
	int code = input("* 사용자 코드를 입력하시오(1:가정용/2:상업용/3:공업용) : ");
	int num = input("* 사용량을 입력하시오(ton단위) : ");
	double res = calc(code, num);
	output(code, num, res);
	return 0;
}

int input(const char *msg) {
	int num;
	printf("%s", msg);
	scanf("%d", &num);
	return num;
}

double calc(int num1, int num2) {
	double res;
	switch (num1) {
	case 1: return 50 * num2 * 1.05;
	case 2: return 45 * num2 * 1.05;
	case 3: return 30 * num2 * 1.05;
	}
}

void output(int code, int num, double calc) {
	char msg[10];
	switch (code) {
	case 1: {strcpy(msg, "(가정용)"); break;}
	case 2: {strcpy(msg, "(상업용)"); break;}
	case 3: {strcpy(msg, "(공업용)"); break;}
	}
	printf("\n# 사용자코드 : %d%s\n# 사용량 : %d ton\n# 총수도요금 : %.0lf원\n", code, msg, num, calc);
	return;
}

HW37-1

#pragma warning (disable : 4996)
#include <stdio.h>

int main() {
	for (int i = 1; i <= 100; i = i + 10) {
		for (int j = 0;j < 10; j++) {
			 char res = i + j;
			 if (((res % 3) == 0) && ((res % 5) == 0)) printf("%5d", res);
			 else if ((res % 3) == 0) printf("%5c",'*');
			 else if ((res % 5) == 0) printf("%5c",'#');
			 else printf("%5d", res);
		}
		printf("\n");
	}
}

HW37-2

#pragma warning (disable : 4996)
#include <stdio.h>

int input(const char*);

int main(){
	int i = 1, fir = 1, sec = 1;
	int num = input("피보나치 수열의 항수를 입력하시오 : ");
	while (i++ <= num) {
		printf("%d + ", fir);
		int thr = fir + sec;
		fir = sec;
		sec = thr;
	}
	printf("\b\b= %d", sec - 1);
	return 0;
}

int input(const char *msg) {
	int num;
	printf("%s", msg);
	scanf("%d", &num);
	return num;
}

HW37-3

#pragma warning (disable : 4996)
#include <stdio.h>

int main() {
	int num, i = 1, sum = 0, count = 0;
	printf("* 기사의 근무일수를 입력하시오 : ");
	scanf("%d", &num);
	while (i){
		for (int j = 1; j <= i; j++) {
			sum += i;
			count++;
			if (num == count) break;
		}
		if (num == count) break;
		i++;
	}
	printf("  근무일 : %d일 / 총 금화 수 : %d개", num, sum);
	return 0;
}

HW38

#pragma warning (disable : 4996)
#include <stdio.h>

int main() {
	int money;
	printf("현대 당신의 소유 금액 입력 : ");
	if (scanf("%d", &money) == 1) {
		for (int i = 1; (i * 500) <= money; i++) {
			int num1 = money;
			num1 -= (i * 500);
			for (int j = 1; (j * 700) <= money; j++) {
				int num2 = num1;
				num2 -= (j * 700);
				for (int k = 1; (k * 400) <= money; k++) {
					int num3 = num2;
					num3 -= (k * 400);
					if (num3 == 0) {
						printf("크림빵(%d 개), 새우깡(%d 봉지), 콜라(%d 병)\n", i, j, k);
					}
				}
			}
		}
		printf("어떻게 구입하시겠습니까?");
	}
	return 0;
}
profile
Stay hungry, stay foolish

0개의 댓글