초보프로그래머가 도전프로그래밍문제를 풀다가..
흰추위
질문 제목 : 어디가 잘못된건가요? 질문 요약 :제가 c열혈강의 책의 도전프로그래밍 one의 4번문제를 풀고있었는데요.
약간 쉽게하려고 문제를변형해서 소스를 만들어서 완성됐는데
(물론 나중에 제대로 풀생각입니다;)
플레이어가 직접 계산해서 각 물품을 한가지이상 사서 0원 만드는건데요
근데 답은 크림빵1개 새우깡 2봉지 콜라4병
크림빵2개 새우깡 3봉지 콜라1병
크림빵4개 새우깡 1봉지 콜라2병
이렇게 되어있는데요.
근데 다 제대로 입력했는데 돈이 남아서 자꾸 혼란이 생깁니다.
어딘가 잘못된건지 모르겠네요..
도와주세요. 질문 내용 :
#include stdio.h
int main (void)
{
int s; // 세개를 하나씩 구입했는지 확인하기 위한 변수
int a; // 사용자의 입력 값
int money=3500; //현재 가지고 있는 돈
int bread=500,sweets=700,cola=400; // 크림빵,새우깡,콜라의 각각 변수
printf(현재 당신이 소유하고 있는 금액: %d\n\n,money);
printf(드시고 싶으신 음식을 선택하여 주십시오\n\n);
printf(1.크림빵(500원)\n\n);// 각각의 가격을 설명
printf(2.새우깡(700원)\n\n);
printf(3.콜라(400원)\n\n);
for(;;)//돈 0원될때까지 무한루프
{
printf(\n 크림빵을 몇개 구입하시겠습니까?\n\n);
scanf(%d,&a);
for(s=1; s=a; s++)
{
money-=bread;//현재가지고있는돈에서 크림빵 갯수의가격으로 뺀다.
}printf( 새우깡은 몇개 구입하시겠습니까?\n\n);
scanf(%d,&a);
for(s=1; s=a; s++)
{
money-=sweets;//현재가지고있는돈에서 새우깡갯수의가격으로 뺀다.
}
printf( 콜라는 몇개 구입하시겠습니까? \n\n);
scanf(%d,&a);
for(s=1; s=a; s++);
{
money-=cola;//현재가지고있는돈에서 콜라병갯수의가격으로 뺀다.
}
if(money!=0)//0원이외 모든 값일경우 출력
printf( 돈이 남았습니다 다시 하세요.%d,money);
elsebreak; //답이 존재하지않으면 패스(0원이 존재하지않은답)淄各병?
}
printf( 모든 돈을 다 쓰셨습니다.\n);
printf( 모든 음식을 하나씩 구입하셔야 하지만 당신의 양심을 믿어요 ㅋ \n %d,money);
return 0;
}
-
가자
프로그래머란말은함부로쓰시는게아님....