목차
■ 이해점검 풀이
■ 프로그램 문제 풀이
■ 프로그램 문제 풀이
본문내용
max);
}
void printAnswer(){
extern number;
printf("\n축하합니다! 시도한지 %d번만에 정수 %d를 맞혔습니다.\n",
++count, number);
}
사용자와 프로그램이 가위, 바위, 보 게임을 할 수 있는 프로그램을 작성하시오.
#include
#include //rand(),srand()를 위한 해더 파일포함
#include //time()을 위한 해더 파일 포함
#define MAX 3
char *name[] = {"가위", "바위", "보"};
int systemgame();
int decision(int sysme, int you);
int main(void)
{ //메인 함수 시작
int draw = 1;
int sysme, you;
srand( time(NULL) );
while (draw) {
printf("가위(0) 바위(1) 보(2) 중에서 하나 입력 > ");
scanf("%d", &you);
if (!(0 <= you && you <= 2)) {
printf("잘못 입력했습니다. 다시 입력하세요.\n\n");
continue;
}
sysme = systemgame();
printf("당신은 %s이고, ", name[you]);
printf("시스템은 %s입니다.\n", name[sysme]);
if (you == sysme) {
printf("비겼습니다. 다시 하세요.\n\n");
} else {
draw = 0;
}
}
printf("\n%s의 승리입니다.\n", decision(sysme, you) ? "당신" : "컴퓨터");
return 0;
} //메인 종료
int systemgame()
{
int number;
number = rand() % MAX;
return number;
}
int decision(int sysme, int you)
{
int win;
if ( sysme == 0 ) {
if ( you == 1 ) {
win = 1;
} else {
win = 0;
}
} else if ( sysme == 1 ) {
if ( you == 0 ) {
win = 0;
} else {
win = 1;
}
} else if ( sysme == 2 ) {
if ( you == 1 ) {
win = 1;
} else {
win = 0;
}
}
return win;
}
1에서부터 45까지의 정수 중에서 6개의 난수를 출력하는 프로그램을 작성하시오.
#include
#include //rand(),srand()를 위한 해더 파일포함
#include //time()을 위한 해더 파일 포함
#define MAX 45 //상수 선언
int main(void){
int i, number;
srand(time(NULL));
printf(" 1에서 %d 사이의 임의수 6개: \n", MAX);
for(i=0; i<6; i++){
number = rand() % MAX + 1; //난수값 저장
printf("%4d", number);
} //난수 4자리씩 출력
printf("\n");
return 0;
} //메인 함수 종료
위 문제를 참고로 로또(lotto) 복권을 모의 실험하는 프로그램을 작성하시오.
#include
#include //rand(),srand()를 위한 해더 파일포함
#include //time()을 위한 해더 파일 포함
#define MAX 45 //상수 선언
void setlotto(int *lotto);
void iswin(int *mylotto, int *lotto);
int main(void)
{ //메인 함수 시작
int i;
int mylotto[6], lotto[6];
printf("본인이 원하는 로또(1에서 45의 숫자 6개) 입력 > \n");
for(i=0; i<6; i++)
scanf("%d", &mylotto[i]);
setlotto(lotto);
iswin(mylotto, lotto);
return 0;
} //메인 함수 종료
void setlotto(int *lotto)
{
int i;
long seed = time(NULL);
srand(seed);
printf("\n로또를 추첨합니다. > \n");
for(i=0; i<6; i++) {
lotto[i] = rand() % MAX + 1;
printf("%4d", lotto[i]);
}
printf("\n\n");
}
void iswin(int *mylotto, int *lotto)
{
int i, j, same = 0;
for (j=0; j<6; j++)
for (i=0; i<6; i++)
if (mylotto[i] == lotto[j])
same++;
if (same == 6)
printf("\t1등 당첨입니다.\n");
else if(same == 5)
printf("\t2등 당첩입니다.\n");
else if(same == 4)
printf("\t3등 당첨입니다.\n");
else if(same == 3)
printf("\t10000원 당첩입니다.\n");
else
printf("\t%d개 맞았고, 꽝입니다.\n", same);
}
서로 다른 소스에서 동일한 변수 이름으로 하나의 파일에는 전역변수로, 다른 파일에는 정적 전역변수로 이용이 가능한 지 예제 프로그램을 작성하여 확인하시오
#include
void staticfun();
int global = 100;
int main(void)
{
printf("전역 변수 : global = %d\n", global);
staticfun();
printf("전역 변수 : global = %d\n", global);
staticfun();
}
/* file : static.c */
#include
static int global = 5000;
void staticfun()
{
printf("정적 전역변수 : global = %d\n", global++);
}
}
void printAnswer(){
extern number;
printf("\n축하합니다! 시도한지 %d번만에 정수 %d를 맞혔습니다.\n",
++count, number);
}
사용자와 프로그램이 가위, 바위, 보 게임을 할 수 있는 프로그램을 작성하시오.
#include
#include
#include
#define MAX 3
char *name[] = {"가위", "바위", "보"};
int systemgame();
int decision(int sysme, int you);
int main(void)
{ //메인 함수 시작
int draw = 1;
int sysme, you;
srand( time(NULL) );
while (draw) {
printf("가위(0) 바위(1) 보(2) 중에서 하나 입력 > ");
scanf("%d", &you);
if (!(0 <= you && you <= 2)) {
printf("잘못 입력했습니다. 다시 입력하세요.\n\n");
continue;
}
sysme = systemgame();
printf("당신은 %s이고, ", name[you]);
printf("시스템은 %s입니다.\n", name[sysme]);
if (you == sysme) {
printf("비겼습니다. 다시 하세요.\n\n");
} else {
draw = 0;
}
}
printf("\n%s의 승리입니다.\n", decision(sysme, you) ? "당신" : "컴퓨터");
return 0;
} //메인 종료
int systemgame()
{
int number;
number = rand() % MAX;
return number;
}
int decision(int sysme, int you)
{
int win;
if ( sysme == 0 ) {
if ( you == 1 ) {
win = 1;
} else {
win = 0;
}
} else if ( sysme == 1 ) {
if ( you == 0 ) {
win = 0;
} else {
win = 1;
}
} else if ( sysme == 2 ) {
if ( you == 1 ) {
win = 1;
} else {
win = 0;
}
}
return win;
}
1에서부터 45까지의 정수 중에서 6개의 난수를 출력하는 프로그램을 작성하시오.
#include
#include
#include
#define MAX 45 //상수 선언
int main(void){
int i, number;
srand(time(NULL));
printf(" 1에서 %d 사이의 임의수 6개: \n", MAX);
for(i=0; i<6; i++){
number = rand() % MAX + 1; //난수값 저장
printf("%4d", number);
} //난수 4자리씩 출력
printf("\n");
return 0;
} //메인 함수 종료
위 문제를 참고로 로또(lotto) 복권을 모의 실험하는 프로그램을 작성하시오.
#include
#include
#include
#define MAX 45 //상수 선언
void setlotto(int *lotto);
void iswin(int *mylotto, int *lotto);
int main(void)
{ //메인 함수 시작
int i;
int mylotto[6], lotto[6];
printf("본인이 원하는 로또(1에서 45의 숫자 6개) 입력 > \n");
for(i=0; i<6; i++)
scanf("%d", &mylotto[i]);
setlotto(lotto);
iswin(mylotto, lotto);
return 0;
} //메인 함수 종료
void setlotto(int *lotto)
{
int i;
long seed = time(NULL);
srand(seed);
printf("\n로또를 추첨합니다. > \n");
for(i=0; i<6; i++) {
lotto[i] = rand() % MAX + 1;
printf("%4d", lotto[i]);
}
printf("\n\n");
}
void iswin(int *mylotto, int *lotto)
{
int i, j, same = 0;
for (j=0; j<6; j++)
for (i=0; i<6; i++)
if (mylotto[i] == lotto[j])
same++;
if (same == 6)
printf("\t1등 당첨입니다.\n");
else if(same == 5)
printf("\t2등 당첩입니다.\n");
else if(same == 4)
printf("\t3등 당첨입니다.\n");
else if(same == 3)
printf("\t10000원 당첩입니다.\n");
else
printf("\t%d개 맞았고, 꽝입니다.\n", same);
}
서로 다른 소스에서 동일한 변수 이름으로 하나의 파일에는 전역변수로, 다른 파일에는 정적 전역변수로 이용이 가능한 지 예제 프로그램을 작성하여 확인하시오
#include
void staticfun();
int global = 100;
int main(void)
{
printf("전역 변수 : global = %d\n", global);
staticfun();
printf("전역 변수 : global = %d\n", global);
staticfun();
}
/* file : static.c */
#include
static int global = 5000;
void staticfun()
{
printf("정적 전역변수 : global = %d\n", global++);
}
키워드
추천자료
기본 c언어 함수
C언어 포인터의 개념과 식 배열 및 문자열
프로그래밍언어
C언어를 이용한 성적처리(성적관리) 프로그램
C언어로 코드변환 프로그램 만들기
c 언어란?
C언어로 만든 보드게임
C언어로 BlueMarble
C언어로 상하좌우 이동하는 프로그램 코딩
컴퓨터프로그래밍(경마게임)
[특허청구범위해석][특허청구범위해석 일반원칙][특허청구범위해석과 외국의 판례]특허청구범...
[C언어 프로그램] 내가 원하는 ‘X번째의 소수 구하기’
프로그래밍언어론 8판(Rovert W. Sebesta 저) 요약정리 (Chapter 5~Chapter 10)
[기초회로실험] 기초 지식과 계기의 사용법 : 실험의 목적, 실험시의 일반적 주의사항, 안전 ...
소개글