2019-01-03

Hyeonu_Chun·2021년 6월 21일

HW7

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

double inputDis();
double inputSpe();
void output(double,double);

int main() {
	int i = 0;
	while (i < 3) {
		double distance = inputDis();
		double speed = inputSpe();
		output(distance, speed);
		i++;
	}
	return 0;
}

double inputDis() {
	double num;
	printf("* 거리를 입력하시오(km단위) : ");
	scanf("%lf", &num);
	return num;
}

double inputSpe() {
	double num;
	printf("* 속도를 입력하시오(km/h단위) : ");
	scanf("%lf", &num);
	return num;
}

void output(double num1, double num2) {
	int hour = int(num1 / num2);
	int min = int(((num1 / num2) - double(hour)) * 60);
	double sec = ((((num1 / num2) - double(hour)) * 60 - double(min)) * 60);
	printf("%.2lf km = >%d시간 %d분 %.3lf 초 소요됨\n\n", num1, hour, min, sec);
	return;
}

HW8

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

int main() {
	int his, lit, art;
	printf("역사, 문학, 예능 점수를 입력하세요 : ");
	scanf("%d %d %d", &his, &lit, &art);
	int sum = his + lit + art;
	double average = double(sum) / 3.0;
	printf("총점은 %d 이고 평균은 %.2lf 입니다.", sum, average);
	return 0;
}

HW9

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

int input();

int main() {
	int number;
	number = input();
	printf("입력된 값은 8진수로 %#o 입니다\n입력된 값은 16진수로 %#x.", number, number);
	return 0;
}

int input() {
	int num;
	printf("정수값을 입력하세요 :");
	scanf("%d", &num);
	return num;
}

HW10

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

int main() {
	int num1, num2;
	printf(":두개의 정수를 입력하시오 : ");
	scanf("%d %d", &num1, &num2);
	printf("%d+%d = %d\n", num1,num2,num1 + num2);
	printf("%d-%d = %d\n", num1, num2, num1 - num2);
	printf("%d*%d = %d\n", num1, num2, num1 * num2);
	printf("%d/%d = %.2lf", num1, num2 ,double(num1) / double(num2));
}

HW11

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

int main() {
	int value;
	printf("ASCII code값을 입력하시오 : ");
	scanf("%d", &value);
	printf("%d은 \'%c\'의 ASCII code 입니다.", value, char(value));
	return 0;
}

HW12

#pragma warning (disable : 4996)
#include <stdio.h>
#include <string.h>
/*
int main() {
	char name[20];
	printf("이름을 입력하시오 :");
	scanf("%[^\n]", name);
	printf("\"%s\"\n", name);
	printf("\"%20s\"\n", name);
	printf("\"%-20s\"", name);
	return 0;
}
*/

int main() {
	char name[20];
	printf("이름을 입력하시오 :");
	scanf("%s", name);
	printf("\"%s\"\n", name);
	printf("\"%20s\"\n", name);
	printf("\"%-20s\"", name);
	return 0;
}

HW13

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

//void null(int);

int main() {
	char firName[20], secName[20];
	printf("#성을 입력하시오 :");
	scanf("%s", firName);
	printf("#이름을 입력하시오 :");
	scanf("%s", secName);
	int firLen = strlen(firName);
	int secLen = strlen(secName); 
	printf("%s %s\n", firName, secName);
	printf("%*d %*d\n", firLen, firLen, secLen, secLen);
//	null(firLen);
//	null(secLen);
	return 0;
}
/*
void null(int num) {
	int i = 1;
	while (i < num) {
		printf(" ");
		i++;
	}
	printf("%d ", num);
	return;
}
*/
// 성과 이름이 10자리 이상 넘어갈때 해결못함

HW14

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

int main() {
	char str[20];
	printf("* 문자열 입력 : ");
	scanf("%[^\n]", str);
	int strLen = strlen(str);
	{
		printf("[");
		int i = 1;
		while (i <= (strLen - (strLen / 2))) {
			printf("_");
			i++;
		}
	}
	printf("%s", str);
	{
		int i = 1;
		printf(" ");
		while (i <= (strLen - (strLen / 2))) {
			printf("\b\b ");
			i++;
		}
	}
	printf("\b. . .]");
	return 0;
}

//솔직히 너무 야매...

HW16

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

int input();
int calc(int);
void output(int);

int main() {
	int num = input();
	int pay = calc(num);
	output(pay);
	return 0;
}

int input() {
	int num;
	printf("역수를 입력하시오 : ");
	scanf("%d", &num);
	return num;
}

int calc(int num) {
	if (num < 6) {
		return 600;
	}
	else {
		if (num < 11) {
			return 800;
		}
		else {
			int i = 1;
			int res = 800;
			while (i <= num - 10) {
				if (i % 2 == 1) {
					res = res + 100;
				}
				i++;
			}
			return res;
		}
	}
}

void output(int num) {
	printf("요금 : %d",num);
	return;
}

HW18

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

int inputAge();
int inputCou();
int calc(int,int);
void output(int,int);

int main() {
	int age = inputAge();
	int count = inputCou();
	int res = calc(age, count);
	if (count < 5) {
		output(res,res);
	}
	else {
		output(res, int(res*0.9));
	}
	return 0;
}

int inputAge() {
	int num;
	printf("입장객의 나이를 입력하시오 : ");
	scanf("%d", &num);
	return num;
}

int inputCou() {
	int num;
	printf("입장객의 수를 입력하시오 : ");
	scanf("%d", &num);
	return num;
}

int calc(int num1, int num2) {
	if (num1 > 19) {
		if (num1 < 56) {
			return 1500 * num2;
		}
		else {
			return 500 * num2;
		}
	}
	else {
		if (num1 > 8) {
			if (num1 > 13) {
				return 1000 * num2;
			}
			else {
				return 700 * num2;
			}
		}
		else {
			return 500 * num2;
		}
	}
}

void output(int num1,int num2) {
	printf("입장료 => %d원\n할인금약 => %d원\n결제금액 => %d원\n", num1, num1 - num2, num2);
	return;
}

HW19

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

int input();
int yearCheck(int);
void output(int, int);

int main() {
	int year = input();
	int res = yearCheck(year);
	output(year, res);
	return 0;
}

int input() {
	int num;
	printf("년도를 입력하시오 : ");
	scanf("%d", &num);
	return num;
}

int yearCheck(int num) {
	if (num % 4 != 0) {
		return 0;
		}
	else {
		if (num % 100 != 0) {
			return 1;
		}
		else {
			if (num % 400 == 0) {
				return 1;
			}
			else {
				return 0;
			}
		}
	}
}

void output(int num1, int num2) {
	char res[30];
	if (num2 == 0) {
		strcpy(res, "평년(Common year)");
	}
	else {
		strcpy(res, "윤년(Leap year)");
	}
	printf("%d년은 %s입니다.", num1, res);
	return;
}
profile
Stay hungry, stay foolish

0개의 댓글