[C언어]업다운게임 전략실험용 프로그램 오류(계속 0만 뜨네요)
조회수 1046회
업다운게임에서 전략을 하나 만든뒤 (--면 이렇게, --면 저렇게) 그것의 효율(총 카운트의 평균)을 테스트하는 프로그램을 만들었는데, 계속 0만 출력하네요. 어떻게 고쳐야 할까요ㅠㅠ
#include <stdio.h>
int number = 100;
int answer = 450;
int numberplus = 0;
int true;
int count = 0;
int minnumber = 100;
int maxnumber = 999;
int numbercount = 0;
int buffer;
main()
{
while (!numbercount == 900)
{
while (!number == answer)
{
check();
//answer과 number를 비교한다.
makeanswer();
//새로운 answer을 만든다.
} //만약 이때 number와 answer가 같다면 종료된다.
printf("%d", count);
//카운트수를 리스트에 삽입한다.
clear();
//변수를 초기화한다.
makeanswer;
//새로운값으로 새로운 answer을 만든다.
}//이때 numbercount가 899면 종료된다.
//printf("%d", numberplus);
//printf("%f\n", numberplus / 899);
}
/*********************************************************/
int check(void)
{
if (number > answer)
{
true = 0;
count++;
}
else if (number < answer)
{
true = 1;
count++;
}
return (true);
}
/***********************************************************/
int makeanswer(void)
{
if (true == 0)
{
buffer = (maxnumber - answer) / 2;
maxnumber = answer;
answer = buffer;
}
else if (true == 1)
{
buffer = (answer - minnumber) / 2;
minnumber = answer;
answer = buffer;
}
return (true);
}
/***********************************************************/
int clear(void)
{
true = 0;
count = 0;
minnumber = 100;
maxnumber = 999;
numbercount++;
number++;
}
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
연산자 우선순위때문에 while문이 실행되지 않는것 같습니다.
while (!numbercount == 900)
는 "numbercount가 900이 아니면 특정 행위를 반복"이라는 의미로 쓴것 같은데요. 이건!numbercount == 900
가 아니라numbercount != 900
가 맞습니다.다른 while문도 마찬가지입니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
- 수정했는데....아무것도 뜨지 않습니다. 아무래도 계속 연산중인것같은데, 어떻게 해야할까요? 알 수 없는 사용자 2017.8.17 21:00
- 수정한 코드를 올려주시겠어요? 알 수 없는 사용자 2017.8.18 09:51
-
댓글 입력