직대딩 블로그

화폐 매수 구하기 2 본문

프로그래밍/C

화폐 매수 구하기 2

Jae Yeon 2023. 3. 12. 17:50

#include<stdio.h>
#include<string.h>
int main(void){
	int pm[9]={10000,5000,1000,500,100,50,10,5,1}; //화폐 단위
	int tm[20][9]={0,}; //각 화폐의 갯수를 세어준다(최대 20명까지)
	int p[20]={0,};// 출장비 저장할 배열
	int sum[9]={0,}; // 총 화폐 갯수 세어줄 배열
	int i=0; //몇 명 입력됬는지 세어줄 변수

	while(1){
		char n[12]=" "; //이름 받아줄 배열(최대 12글자) 
		scanf("%s",&n);
		
		char *s1="QUIT"; //strcmp(문자열비교) 실행해주기 위한 문자포인터
		int z = strcmp(n,s1);//둘이 같으면 0,다르면 1
		if(z==0) break; // QUIT가 입력되서 같을 경우 while문 break
		scanf("%d",&p[i]); //출장비 입력

		int won=0,m=0; 

		while(won!=p[i]){ //won이 p와 같지 않을 때까지 
		if(pm[m]>p[i])
			m++;
		else{
			won+=pm[m];
			tm[i][m]++;
			sum[m]++;
			if(won>p[i]){
				won-=pm[m];
				tm[i][m]--;
				sum[m]--;
				m++;
				}
			}
		}
		i++;
		
	}
	printf("출장비 만원 오천원 오백원 백원 오십원 십원 오원 일원\n");

		for(int k=0;k<i;k++){
			printf("%d ",p[k]);
			for(int j=0;j<9;j++){
				printf("%d ",tm[k][j]);
			}
			printf("\n");
		}
		printf("전체 화폐 매수");
		for(int i=0;i<9;i++)
				printf(" %d ",sum[i]);
}

'프로그래밍 > C' 카테고리의 다른 글

마방진 만들기  (0) 2023.03.12
10진수 -> 2진수 변환  (0) 2023.03.12
지그재그로 배열에 저장  (0) 2023.03.12
nextBigNumber (2진수)  (0) 2023.03.12
화폐 매수 구하기  (0) 2023.03.12
Comments