목차
(1) 다음 괄호 부분을 채우시오.
(2) 다음 소스에서 에러를 찾아보고 수정하시오.
(3) 다음 프로그램의 출력 결과를 쓰시오.
(4) 다음 프로그램을 작성하시오.
(2) 다음 소스에서 에러를 찾아보고 수정하시오.
(3) 다음 프로그램의 출력 결과를 쓰시오.
(4) 다음 프로그램을 작성하시오.
본문내용
}
else
{
printfAnswer();
break;
}
}
}
static int max = LIMIT;
static int min = 1;
static trycount = 0;
void setNumber()
{
int seed;
extern number;
seed = time(NULL);
srand(seed);
number = rand()%LIMIT + 1;
}
void printfHead()
{
printf("1에서 %d까지의 한 정수가 결정되었습니다.\n", LIMIT);
printf("이 정수를 맞추어 보세요? ");
}
void printfHigher(int guess)
{
printf("\n시도 횟수 : %d", ++trycount);
printf("\n맞추어야 할 정수가 입력한 정수 %d보다 "
"큽니다.\n", guess);
min = guess + 1;
printf("%d에서 %d사이의 정수를 다시 입력하세요.", min, max);
}
void printfLower(int guess)
{
printf("\n시도 횟수 : %d", ++trycount);
printf("\n맞추어야 할 정수가 입력한 정수 %d보다"
"작습니다. \n", guess);
max = guess - 1;
printf("%d에서 %d사이의 정수를 다시 입력하세요.\n", min, max);
}
void printfAnswer()
{
extern number;
printf("\n시도 횟수 : %d", ++trycount);
printf("\n축하합니다! 입력한 정수 %d가 맞습니다.\n", number);
}
B. 사용자와 프로그램이 가위,바위,보 게임을 할 수 있는 프로그램을 작성하시오.
#include
#include
#include
void main()
{
int choice=1;
int seed,num;
char person[4][5] = {"0","가위","바위","보"};
char com[4][5] = {"0","가위","바위","보"};
int res;
seed = time(NULL);
srand(seed);
printf("\t*********************\n");
printf("\t* 가위바위보 게임 *\n");
printf("\t*********************\n");
printf("\n\n\t가위: 1번, 바위: 2번, 보: 3번\n");
while(choice != 0)
{
printf("\n\n\t(사용자)가위,바위,보? ");
scanf("%d", &num);
if((num<1) || (num>3))
{
printf("\t다시 입력 하세요\n");
}
else
{
choice=0;
}
}
printf("\t사용자 -> %s,", person[num]);
res = rand()%3+1;
printf("\t컴퓨터 -> %s\n", com[res]);
if(num == res)
{
printf("\n\t결과: 비겼습니다\n");
}
else if((num==1) && (res==2))
{
printf("\n\t결과: 컴퓨터 승리\n");
}
else if((num==1) && (res==3))
{
printf("\n\t결과: 사용자 승리\n");
}
else if((num==2) && (res==1))
{
printf("\n\t결과: 사용자 승리\n");
}
else if((num==2) && (res==3))
{
printf("\n\t결과: 컴퓨터 승리\n");
}
else if((num=3) && (res==2))
{
printf("\n\t결과: 사용자 승리\n");
}
else
{
printf("\n\t결과: 컴퓨터 승리\n");
}
}
C. 1에서부터 45까지의 정수중에서 6개의 난수를 출력하는 프로그램을 작성하시오.
#include
#include
#include
#define MAX 45
void main()
{
int i;
int seed;
seed = time(NULL);
srand(seed);
for(i=1; i<=6; i++)
{
printf("%d번째 수: %3d\n",i,rand()%MAX + 1);
}
}
D. 위 문제를 참고로 로또(lotto)복권을 모의 실험하는 프로그램을 작성하시오.
#include
#include
#include
void lotto_make(int number[]);
void main()
{
int seed;
int number[7] = {0,};
seed = time(NULL);
srand(seed);
lotto_make(number);
}
void lotto_make(int number[])
{
int i,j;
for(i=0; i<=6; i++)
{
number[i] = rand()%45+1;
for(j=0; j<=6; j++)
{
if((i!=j) && (number[i] == number[j]))
{
i--;
}
}
}
printf("\t**************************\n");
printf("\t* 행운의 로또복권 추첨 *\n");
printf("\t**************************\n\n\n");
for(i=0; i<=6;i++)
{
if(i==6)
{
printf("\n\n\t ★2등 보너스 숫자: %3d\n", number[i]);
}
else
{
printf("\t%3d번째 숫자: %3d\n", i+1, number[i]);
}
}
}
====================================================================
E. 서로 다른 소스에서 동일한 변수 이름으로 하나의 파일에는 전역변수로, 다른 파일에는 정적 전역변수로 이용이 가능한 지 예제 프로그램을 작성하여 확인하시오.
전역변수는 파일 소스가 다르더라도 항상 이용이 가능하나, 정적 전역변수는 전역변수이나 동일한 파일에서만 이용이 가능한 변수이다. 즉 extern에 의해 다른파일에서 참조가 불가능하다.
else
{
printfAnswer();
break;
}
}
}
static int max = LIMIT;
static int min = 1;
static trycount = 0;
void setNumber()
{
int seed;
extern number;
seed = time(NULL);
srand(seed);
number = rand()%LIMIT + 1;
}
void printfHead()
{
printf("1에서 %d까지의 한 정수가 결정되었습니다.\n", LIMIT);
printf("이 정수를 맞추어 보세요? ");
}
void printfHigher(int guess)
{
printf("\n시도 횟수 : %d", ++trycount);
printf("\n맞추어야 할 정수가 입력한 정수 %d보다 "
"큽니다.\n", guess);
min = guess + 1;
printf("%d에서 %d사이의 정수를 다시 입력하세요.", min, max);
}
void printfLower(int guess)
{
printf("\n시도 횟수 : %d", ++trycount);
printf("\n맞추어야 할 정수가 입력한 정수 %d보다"
"작습니다. \n", guess);
max = guess - 1;
printf("%d에서 %d사이의 정수를 다시 입력하세요.\n", min, max);
}
void printfAnswer()
{
extern number;
printf("\n시도 횟수 : %d", ++trycount);
printf("\n축하합니다! 입력한 정수 %d가 맞습니다.\n", number);
}
B. 사용자와 프로그램이 가위,바위,보 게임을 할 수 있는 프로그램을 작성하시오.
#include
#include
#include
void main()
{
int choice=1;
int seed,num;
char person[4][5] = {"0","가위","바위","보"};
char com[4][5] = {"0","가위","바위","보"};
int res;
seed = time(NULL);
srand(seed);
printf("\t*********************\n");
printf("\t* 가위바위보 게임 *\n");
printf("\t*********************\n");
printf("\n\n\t가위: 1번, 바위: 2번, 보: 3번\n");
while(choice != 0)
{
printf("\n\n\t(사용자)가위,바위,보? ");
scanf("%d", &num);
if((num<1) || (num>3))
{
printf("\t다시 입력 하세요\n");
}
else
{
choice=0;
}
}
printf("\t사용자 -> %s,", person[num]);
res = rand()%3+1;
printf("\t컴퓨터 -> %s\n", com[res]);
if(num == res)
{
printf("\n\t결과: 비겼습니다\n");
}
else if((num==1) && (res==2))
{
printf("\n\t결과: 컴퓨터 승리\n");
}
else if((num==1) && (res==3))
{
printf("\n\t결과: 사용자 승리\n");
}
else if((num==2) && (res==1))
{
printf("\n\t결과: 사용자 승리\n");
}
else if((num==2) && (res==3))
{
printf("\n\t결과: 컴퓨터 승리\n");
}
else if((num=3) && (res==2))
{
printf("\n\t결과: 사용자 승리\n");
}
else
{
printf("\n\t결과: 컴퓨터 승리\n");
}
}
C. 1에서부터 45까지의 정수중에서 6개의 난수를 출력하는 프로그램을 작성하시오.
#include
#include
#include
#define MAX 45
void main()
{
int i;
int seed;
seed = time(NULL);
srand(seed);
for(i=1; i<=6; i++)
{
printf("%d번째 수: %3d\n",i,rand()%MAX + 1);
}
}
D. 위 문제를 참고로 로또(lotto)복권을 모의 실험하는 프로그램을 작성하시오.
#include
#include
#include
void lotto_make(int number[]);
void main()
{
int seed;
int number[7] = {0,};
seed = time(NULL);
srand(seed);
lotto_make(number);
}
void lotto_make(int number[])
{
int i,j;
for(i=0; i<=6; i++)
{
number[i] = rand()%45+1;
for(j=0; j<=6; j++)
{
if((i!=j) && (number[i] == number[j]))
{
i--;
}
}
}
printf("\t**************************\n");
printf("\t* 행운의 로또복권 추첨 *\n");
printf("\t**************************\n\n\n");
for(i=0; i<=6;i++)
{
if(i==6)
{
printf("\n\n\t ★2등 보너스 숫자: %3d\n", number[i]);
}
else
{
printf("\t%3d번째 숫자: %3d\n", i+1, number[i]);
}
}
}
====================================================================
E. 서로 다른 소스에서 동일한 변수 이름으로 하나의 파일에는 전역변수로, 다른 파일에는 정적 전역변수로 이용이 가능한 지 예제 프로그램을 작성하여 확인하시오.
전역변수는 파일 소스가 다르더라도 항상 이용이 가능하나, 정적 전역변수는 전역변수이나 동일한 파일에서만 이용이 가능한 변수이다. 즉 extern에 의해 다른파일에서 참조가 불가능하다.
추천자료
- 트리(tree)관련 프로그래밍 소스 모음 (C언어)
- 함수형 프로그래밍
- 가위바위보 C프로그래밍 프로젝트(단순 가위바위보프로그래밍이 아닌, 랭킹&사용자등록&a...
- C로 배우는 프로그래밍 기초 - 컴퓨터와 프로그램
- [c 프로그램 레포트] 자동 업데이트 프로그램 c프로그래밍
- [JAVA언어] sic/xe 머신 시뮬레이터, 시스템 프로그래밍 과제
- 교수방법의 유형 고찰과 LOGO프로그래밍(로고프로그래밍)의 개념, LOGO프로그래밍(로고프로그...
- 커널 프로그래밍 기초
- 쉽게 풀어 쓴 C언어 익스프레스 프로그래밍 문제 3장,4장(홀수)
- 컴퓨터프로그래밍(경마게임)
- c언어를 이용한 컴퓨터프로그래밍
- [객체지향프로그래밍][객체지향]객체지향프로그래밍의 개요, 객체지향프로그래밍의 정의, 객...
- 프로그래밍 기초 - 변환명세 및 연산 이해
- <<열혈강의 C 도전 프로그래밍 ONE 1장 솔루션>>열혈강의 C,도전 프로그래밍,문제풀이,솔루션...
소개글