01. 삼각형의 밑변과 높이를 실수 변수로 입력 받아 넓이를 구한 후 다음과 같이 소수점아래 두자리까지 출력하는프로그램을작성하시오. (cm²에서 위 첨자 ²입력은 키보드에서 ㅊ 입력하고 한자 키를 누르면위첨자를 선택할 수 있음)

#include <stdio.h>

int main() {
	float wd, ht;
	
	printf("밑변, 높이: ");
	scanf("%f %f", &wd, &ht);
	printf("밑변=%.2fcm, 높이=%.2fcm인 삼각형의 면적=%.2fcm", wd, ht, wd * ht * 0.5);
}

02. 화씨 단위의 온도를 실수로 입력받아 섭씨단위의 온도를 구하는 프로그램을 작성하시오. (화씨 온도 (F)를 섭씨 온도 (C) 로 변환하는 식은  C = (5 / 9) * (F - 32) 이다.) 

#include <stdio.h>

int main() {
	float ft, ct;

	printf("화씨온도(F)를 입력하세요. : ");
	scanf("%f", &ft);
	ct = 5. / 9 * (ft - 32);
	printf("화씨온도 %.1f의 섭씨온도는 %.1f입니다. \n", ft, ct);
	
	return 0;
}

03. 시, 분, 초를 정수로 입력 받아 화면과 같이초로 계산해서 출력하는 프록램을 작성하시오. (입력된 시, 분, 초,는 hh:mm:ss 형식으로 표시  mm:ss 에서 한자리 경우 앞에 0이 나와야 함)

#include <stdio.h>

int main() {
	int hh, mm, ss, sec;

	printf("시: "); scanf("%d", &hh);
	printf("분: "); scanf("%d", &mm);
	printf("초: "); scanf("%d", &ss);
	sec = hh * 3600 + mm * 60 + ss;
	printf("%d:%02d:%02d = %d초", hh, mm, ss, sec);

	return 0;
}

04. 화면과 같이 학생의 이름과 국어, 영어, 수학 점수를 실수로 입력 받아 총점과 평균을 화면과 같이 정렬이 되어 출력하도록 작성하시오. (단, 학생의 이름에 빈칸이 들어갈 수있으며, 총점과 평균을 총 6자리 소수점 이하 2자리까지 출력할 것)

(gets()와 gets_s() 둘다 사용할 줄 알아야함)

#include <stdio.h>

int main() {
	char name[40];
	double kook, young, soo, sum, avg;

	printf("이름: ");	gets(name); // gets_s(name, sizeof(name)); 도 가능
	printf("국어: ");	scanf("%lf", &kook);
	printf("영어: ");	scanf("%lf", &young);
	printf("수학: ");	scanf("%lf", &soo);
	printf("이름: %s\n", name);
	sum = kook + young + soo;
	avg = sum / 3;
	printf("총점 = %6.2f\n", sum);
	printf("평균 = %6.2f\n", avg);
}

05. 상점에서 돈을 지불하기 위해필요한 지폐와 동전을 구하는 프로그램을작성하시오. 화면과 같이 금액을 입력하면 5만원, 1만원, 5천원, 1천원, 500원, 100원, 50원, 10원, 5원, 1원의 순으로 구해서 출력한다. 

#include <stdio.h>

int main() {
	int money, cnt = 0, chg = 0, m_inx = 0;
	int m_units[] = { 50000,10000,5000,1000,500,100,50,10,5,1 };

	printf("금액을 입력 : ");	scanf("%d", &money);
	for (int i = 0; i < 10; i++) {
		cnt = money / m_units[i];
		money = money % m_units[i];
		switch (m_units[i]) {
		case 50000: printf("%5s: %d\n", "5만원", cnt); break;
		case 10000: printf("%5s: %d\n", "1만원", cnt); break;
		case 5000: printf("%5s: %d\n","5천원", cnt); break;
		case 1000: printf("%5s: %d\n","1천원", cnt); break;
		case 500: printf("%5s: %d\n", "500원", cnt); break;
		case 100: printf("%5s: %d\n", "100원", cnt); break;
		case 50: printf("%5s: %d\n", "50원", cnt); break;
		case 10: printf("%5s: %d\n", "10원", cnt); break;
		case 5: printf("%5s: %d\n", "5원", cnt); break;
		case 1: printf("%5s: %d\n", "1원", cnt); break;
		}
	}
}
#include <stdio.h>

int main() {
	int money, cnt = 0, chg = 0, m_inx = 0;
	int m_units[] = { 50000,10000,5000,1000,500,100,50,10,5,1 };
	char* per_units[] = { "5만원", "1만원", "5천원", "1천원", "500원", "100원", "50원", "10원", "5원", "1원" };

	printf("금액을 입력 : ");	scanf("%d", &money);
	for (int i = 0; i < 10; i++) {
		cnt = money / m_units[i];
		money = money % m_units[i];
		printf("%5s: %d \n", per_units[i], cnt);
	}
}

06. 사과가 한상자에 20개씩 들어간다고 할 때 사과수를 입력받아 필요한 상자수를 계산하는 프로그램을 작성하시오. 마지막 상자에는 적어도 사과 1개는 들어가게된다. ( Hint : /,%, 조건 연산자 사용)

#include <stdio.h>

int main() {
	int apple, box;
	printf("사과수 입력: ");	scanf("%d", &apple);
	box = apple / 20;
	box += (apple % 20) ? 1 : 0;
	printf("상자수 = %d \n", box);

}


07. 다음 프로그램은 연산자, ++, --, +=, -=, *=, /=, %= 등을 사용한 미완성 프로그램이다. 화면과 같이 출력 결과가 나오도록 빈칸 부분에 지시사항에서 주어진 연산자를 적절히 사용해서 프로그램을 완성하시오. 

#include <stdio.h>

int main() {
	int a = 5, b = 10, c = 15;
	printf("(1) a = %d, b = %d, c = %d\n", a += 2, b++, --c); // 7, 11, 14
	printf("(2) a = %d, b = %d, c = %d\n", a++, ++b, c--); // 8, 12, 13
	printf("(3) a = %d, b = %d, c = %d\n", a, b, c); 
	printf("(4) a = %d, b = %d, c = %d\n", (a+=2,a--), b -= 3, (c+=5,c--)); // 10,9,18
	printf("(5) a = %d, b = %d, c = %d\n", a, b, c); // 9 9 17
	printf("(6) a = %d, b = %d, c = %d\n", a*=3, b/=4, c%=16);
}
#include <stdio.h>

int main() {
	int a = 5, b = 10, c = 15;
	printf("(1) a = %d, b = %d, c = %d\n", a += 2, b++, --c); // 7, 11, 14
	printf("(2) a = %d, b = %d, c = %d\n", a++, ++b, c--); // 8, 12, 13
	printf("(3) a = %d, b = %d, c = %d\n", a, b, c); 
	printf("(4) a = %d, b = %d, c = %d\n", (a+=1)+1, b-=3, (c += 4)+1); // 10,9,18
	printf("(5) a = %d, b = %d, c = %d\n", a, b, c); // 9 9 17
	printf("(6) a = %d, b = %d, c = %d\n", a*=3, b/=4, c%=16);
}

08. 세 정수를 입력 받아 if 문 또는 조건 연산자를 사용하여 다음 프로그램을 하시오.

(1) 단계: 가장 큰 수(max)와 가장작은 수 (min)을 구해서 출력

(2) 단계: 세 수를 크기 순으로 출력 

#include <stdio.h>
#include <string.h>

int main() {
	int a, b, c, min, max, temp;
	printf("정수 세 개 입력 \n");
	scanf("%d %d %d", &a, &b, &c);

	max = (a > b && a > c) ? a : (b > c) ? b : c;
	min = (a < b && a < c) ? a : (b < c) ? b : c;

	if (a < b) {
		temp = a;
		a = b;
		b = temp;
	}
	if (a < c) {
		temp = a;
		a = c;
		c = temp;
	}
	if (b < c) {
		temp = b;
		b = c;
		c = temp;
	}
	printf("(1) max=%d min=%d \n", max, min);
	printf("(2) 크기순: %d %d %d", a, b, c);
}

 

+ Recent posts