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;
}