실습 1: 거스름돈 계산하기
편의점에서 물건을 구입하고 돈을 냈을 때, 거스름돈의 액수와 점원 이 지급해야 할 거스름돈을 화폐와 동전수를 계산하는 프로그램을 작성해보자.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int price, money;
int result;
int won_50000, won_10000, won_5000, won_1000, won_500, won_100;
printf("물건 값을 입력하세요: ");
scanf("%d", &price);
printf("사용자가 낸 돈: ");
scanf("%d", &money);
result = money - price; /* 거스름돈 */
won_50000 = result / 50000; //
won_10000 = (result - (50000 * won_50000)) / 10000;
won_5000 = (result - (10000 * won_10000)) / 5000;
won_1000 = (result - (5000 * won_5000)) / 1000;
won_500 = (result - (5000 * won_5000 + 1000 * won_1000 )) / 500;
won_100 = (result - (5000 * won_5000 + 1000 * won_1000 + 500 * won_500)) / 100;
printf("50000원: %d장 \n10000원: %d장 \n5000원: %d장 \n1000원: %d장 \n500원: %d개 \n100원: %d개", won_50000, won_10000, won_5000, won_1000, won_500, won_100);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int pay = 0;
int change = 0;
int price = 0;
int c_50000, c_10000, c_5000, c_1000, c_500, c_100;
printf("물건 값을 입력하세요: ");
scanf("%d", &price);
printf("사용자가 낸 돈: ");
scanf("%d", &pay);
change = pay - price;
c_50000 = change / 50000;
change = change % 50000;
c_10000 = change / 10000;
change = change % 10000;
c_5000 = change / 5000;
change = change % 5000;
c_1000 = change / 1000;
change = change % 1000;
c_500 = change / 500;
change = change % 500;
c_100 = change / 100;
change = change % 100;
printf("50000원: %d장 \n10000원: %d장 \n5000원: %d장 \n1000원: %d장 \n500원: %d개 \n100원: %d개", c_50000, c_10000, c_5000, c_1000, c_500, c_100);
return 0;
}
실습 2: 윤년 판단 프로그램
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int year;
int isLeapYear, result;
printf("년도를 입력하세요: ");
scanf("%d", &year);
isLeapYear = (year % 400 == 0 || year % 4 == 0); // 4와 400으로 나누어 떨어지면 1 반환
result = (isLeapYear == 1 && year % 100 != 0); // isLeapYear 값이 1이고, year 가 100으로 나누어 떨어지지않으면 1 반환
/* result = ( ((year % 400 == 0 || year % 4 = 0) == 1) && year % 100 != 0 ) */
printf("result: %d", result);
return 0;
}
실습 3: 10진수를 2진수로 출력하기
0보다 크고 128보다 작은 10진수를 입력받아 비트 연산자를 이용하여 2진수 형식으로 화면에 출력해보자 ( 3항 연산자를 활용해 보자 )
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num = 0; // 0 0 1 0 0 0 0 0
int mask = 128; // 1 0 0 0 0 0 0 0
printf("10진수를 입력하세요: ");
scanf("%d", &num);
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
(num & mask) == 0 ? printf("0"): printf("1");
mask = mask >> 1;
return 0;
}
'C 언어' 카테고리의 다른 글
220926 - Univ (0) | 2022.10.06 |
---|---|
220915 - Univ (0) | 2022.09.17 |
220908 - Univ (0) | 2022.09.14 |
220904 - Univ (0) | 2022.09.14 |