가위 바위 보 게임 #include #include #include void rule(int set); void match(int user, int com, int* arr); int main(void) { int com; int user; int rst[3] = {0,0,0}; while(user != 3) { srand(time(NULL)); com = rand() % 3; printf("0.바위 1.가위 2.보 3.종료 >> "); scanf("%d",&user); printf("당신은 "); rule(user); printf("\n"); printf("컴퓨터는 "); rule(com); printf("\n"); printf("결과는 "); match(user, com, rst); printf("\n"); } printf("%d무 %d승 %d패\n\n",rst[2],rst[0],rst[1]); return 0; } void rule(int set) { if(set==0) printf("바위"); else if(set==1) printf("가위"); else if(set==2) printf("보"); } void match(int user, int com, int* rst) { if(com==user) { printf("무승부\n"); rst[2] += 1; } else if(com==0) { if(user==1) { printf("패\n"); rst[1] += 1; } else if(user==2) { printf("승\n"); rst[0] += 1; } } else if(com==1) { if(user==2) { printf("패\n"); rst[1] += 1; } else if(user==0) { printf("승\n"); rst[0] += 1; } } else if(com==2) { if(user==0) { printf("패\n"); rst[1] += 1; } else if(user==1) { printf("승\n"); rst[0] += 1; } } }
숫자 야구게임#include <stdio.h> #include <stdlib.h> #include <time.h> void set_game(int *arr); void input_num(int *u_arr); int compare_num(int *arr, int *u_arr); int main(void) { int arr[3]; int u_arr[3]; int valid=0; int p; set_game(arr); for(p=0 ; p<3 ; p++) { printf("%d%c",arr[p], p==2 ? '\n\n' : ' '); } while(valid != 1) { input_num(u_arr); valid = compare_num(arr,u_arr); if(valid==1) printf("***정답입니다***\n"); } return 0; } void set_game(int *arr) { int i; srand(time(NULL)); for(i=0; i<3; i++) arr[i] = rand()%10; printf("GAME START!!\n"); } void input_num(int *u_arr) { int i; int input; for(i=0; i<3; i++) { printf("입력하세요(%d번째) >>",i+1); scanf("%d",&input); if(input < 0 || input > 9) { printf("다시 입력하세요\n\a"); i = i-1; }else u_arr[i]=input; } } int compare_num(int *arr, int *u_arr) { int i,j; int s_cnt=0,b_cnt=0; int es=0; for(i=0; i<3; i++) for(j=0; j<3; j++) if(arr[i]==u_arr[j]) if(i==j) s_cnt++; else b_cnt++; else continue; if(s_cnt >0) printf("\n[%d strike]\n\n\n",s_cnt); if(b_cnt > 0) printf("\n[%d ball]\n\n\n",b_cnt); if(s_cnt==0 && b_cnt==0) printf("\n[3 out]\n\n\n"); if(s_cnt==3) es=1; return es; }
배열에 저장되어 있는 요소를 내림차순 정렬하는 함수 DesSort로 정의 #include void DesSort(int *arr); //내림차순 함수 선언 int main(void) { int arr[7]; int val; int i; for(i=0; i<7; i++) { printf("%d번째 정수 입력 :",i+1); scanf("%d",&val); arr[i] = val; } //7개의 정수를 입력 받아 배열에 저장 DesSort(arr); //DesSort 함수호출 return 0; } //DesSort 함수 정의 void DesSort(int *arr) { int temp; int i,j; for(i=0 ; i<6 ; i++) for(j=0; j<6-i ; j++) { if(arr[j] < arr[j+1]) { temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } for(i=0 ; i<7 ; i++) { printf("%d%c",arr[i],(i==6 ? '\n' : ' ')); } }
인자로 전달되는 문자열이 회문인지 아닌지를 출력하는 함수 정의(대소문자 구분) #include #include //strlen 사용을 위한 string.h void check(char *arr, int n); //회문 검사 함수 선언 int main(void) { char arr[100]; printf("문자열 입력(대소문자 구분, 3자 이상) : "); scanf("%s",arr); //문자열 입력받아 배열에 저장 check(arr,strlen(arr)); //함수 호출 return 0; } //회문 검사 함수 정의 void check(char *arr, int n) { int i,cnt=0; for(i=0 ; i invalid-file
길이가 10인 배열에 정수를 입력 받아 저장(단, 짝수는 배열의 끝부터 저장하고 홀수는 앞부터 저장) #include int main(void) { int arr[10]; int i,j=9,k=0; int val; for(i=0 ; i<10; i++) { printf("%d번째 정수 입력 : ",i); scanf("%d",&val); if(val % 2 == 0) { arr[j] = val; --j; }else { arr[k] = val; ++k; } } printf("\n\n배열 요소의 출력:"); for(i=0 ; i<10; i++) { printf("%d%c",arr[i],(i==9 ? '\n' : ' ')); } return 0; }