3번째 질문입니다.제발 제발 ㅠㅠ 도와주세요
칸나
블랙잭 프로그램 3장 카드받아서 하는거아래가 책에 있는 문제입니다.
블랙잭 게임에서, 그림 종류에 상관없이 2에서 10사이의 카드는 액면 그대로의 값으로 계산되고, 그림카드(J, Q, K)는 10으로 계산되고, 에이스(A)는 1이나 11로 계산되어 게이머의 손에 들려있는 모든 카드의 총합으로 계산된다. 에이스 카드는 게이머의 손에 들려있는 모든 카드의 총합이 21이 넘지 않는 경우에만 11로 계산되고, 그렇지 않은 경우에는 1로 계산된다. 이 정보를 이용하여 사용자로부터 카드 3장에 대한 값을 입력 받아, 입력된 카드 3장의 값과 입력된 카드 3장의 총합을 계산하여 출력하는 C 프로그램을 작성하여라(입력된 숫자 1은 에이스를, 11은 J, 12는 Q, 13은 K를 가리킨다).질문 내용 :
작성한 소스인데 총합이 21을 넘으면 에이스가 1로 계산이 되야되는데
제가 짠 프로그램은 21을 넘어도 그냥 11점으로 계산되네요
아무리 생각해도 모르겠습니다. 아직 왕 초짜 라서 그런지 많이 힘드네요 도와주세요 ㅠㅠ
#include stdio.h
int main()
{
int first,second,third;
int first_r,second_r,third_r;
int sum=0;
printf(블랙잭 게임에 필요한 3장의 카드를 입력하세요\n);
printf(1은 에이스를 11은 j를 12는 q를 13은 k를 가리킵니다\n********************************************\n);
printf(첫번째 카드를 입력하세요: );
scanf(%d,&first);
if(first==1){
first_r=11;
sum=sum+first_r;
}
else if(first=10)
{
first_r=first;
sum=sum+first_r;
}
else
{
first_r=10;
sum=sum+first_r;
}
printf(두번째 카드를 입력하세요: );
scanf(%d,&second);
if(second==1)
{
second_r=11;
sum=sum+second_r;
}
else if(second=10)
{
second_r=second;
sum=sum+second_r;
}
else
{
second_r=10;
sum=sum+second_r;
}
printf(세번째 카드를 입력하세요: );
scanf(%d,&third);
if(third==1)
{
if(sum21){
third_r=11;
sum=sum+third_r;
}
else{
third_r=1;
sum=sum+third_r;
}
}
else if(10=third){
third_r=10;
sum=sum+third_r;
}
{
else
third_r=third;
sum=sum+third_r;
}
printf(입력된 카드 3장의 값은 %d, %d, %d입니다\n, first, second, third);
printf(변환된 카드 3장의 값은 %d, %d, %d입니다. 총 합은 %d입니다\n, first_r,second_r,third_r,sum);
return 0;
}
-
들샘
총합이 21인 경우 에이스는 11로 계산되지 않나요?
세번째 카드 입력받고 나서 if(sum=21) 로 해야될 듯싶네요.
if문을 제대로 이해 못하신듯한데.....C는 순차문입니다.
위에서 부터 차례대로 실행된다는 뜻이죠.
님 소스대로 가보죠...
카드 2장을 K로 받았다고 가정하면 지금 sum은 20일겁니다.
그다음 세번째 카드를 받았습니다.(아직 sum에 더하기 전입니다.)
sum의 값이 21을 넘지않는다면 11로 계산합니다.(이 시점에서 sum
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |
2691510 | sizeof 연산자 질문입니다 (2) | 종달 | 2025-04-14 |
2691483 | 파일 오픈시 에러 질문드립니다. (2) | 호습다 | 2025-04-14 |
2691450 | [visual c++ 툴]기초 질문 (3) | 해긴 | 2025-04-13 |