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);
}
'프로그래밍랩' 카테고리의 다른 글
프로그래밍랩 9주차 (0) | 2024.11.07 |
---|---|
[프로그래밍 랩] C언어 복습 문제 4 (0) | 2024.10.25 |
[프로그래밍 랩] C언어 복습 문제 5 (0) | 2024.10.25 |
[프로그래밍 랩] C언어 복습 문제 3 (0) | 2024.10.18 |
[프로그래밍 랩] C언어 복습 문제 2 (0) | 2024.10.10 |