1059C 언어 경연 대회(20점)(C언어)

13844 단어 c 언어
C 언어 경연대회는 절강대학 컴퓨터대학이 주관하는 즐거운 경연대회이다.경기의 취지가 재미를 위한 것이기 때문에 시상 규칙도 우스꽝스럽게 정해졌다.
0, 우승자는'신비의 대상'(예를 들어 거대한 학생 연구 논문집...)을 받을 것이다.1、순위가 소수인 학생은 최고의 상품인 미니언즈 인형을 획득합니다!2. 다른 사람들은 초콜릿을 받을 것이다.경기의 최종 순위와 일련의 참가자의 ID를 정하면 참가자들이 받아야 할 상품을 주어야 한다.
입력 형식: 첫 번째 줄을 입력하면 정수 N(≤104)을 주고 참가자 수입니다.이어 N행은 최종 순위를, 행마다 한 참가자의 ID(4자리 숫자 구성)를 순위순으로 제시한다.다음은 질의할 ID와 양의 정수 K 를 나타냅니다.
출력 형식: 조회할 ID마다 한 줄에 ID: 상품을 출력합니다. 그중에 상품이나 Mystery Award(신비대상), 미니언(미니언), 또는 Chocolate(초콜릿)를 출력합니다.검색한 ID가 순위에 없으면 Are you kidding을 인쇄하시겠습니까?(놀려요?).만약 이 ID를 이미 조사했다면 (즉 상품은 이미 수령했습니다), 프린트 ID: Checked (많이 먹고 많이 차지할 수 없습니다).
샘플 입력:
6
1111
6666
8888
1234
5555
0001
6
8888
0001
1111
2222
8888
2222

출력 예제:
8888: Minion
0001: Chocolate
1111: Mystery Award
2222: Are you kidding?
8888: Checked
2222: Are you kidding?
#include 
#include 
#include 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	int n , a[10000] ,flag[10000] = {0} ,c[10000] = {0} ;
	scanf("%d",&n) ;
	int i , j ;
	for( i = 0 ; i < n ; i++ ){
		scanf("%d",&a[i]) ;
	}
	int k , b[10000] ;
	scanf("%d",&k) ;
	for( i = 0 ; i < k ; i++ ){
		scanf("%d",&b[i]) ;
	}
	flag[1] = 0 ;
	for( i = 3 ; i <= n ; i++ ){
		for( j = 2 ; j <= sqrt(i) ; j++ ){
			if( i%j == 0 ){
				flag[i-1] = 1 ;
			}
		}
	}
	for( i = 0 ; i < k ; i++ ){
		for( j = 0 ; j < n ; j++ ){
			if( b[i] == a[j] ){
				if(c[j] == 0){
					if( j == 0 ){
					    printf("%04d: Mystery Award
"
,b[i]) ; c[j] = 1 ; }else if( flag[j] == 0 ){ printf("%04d: Minion
"
,b[i]) ; c[j] = 1 ; }else{ printf("%04d: Chocolate
"
,b[i]) ; c[j] = 1 ; } break ; }else{ printf("%04d: Checked
"
,b[i]) ; break ; } } } if( j == n ){ printf("%04d: Are you kidding?
"
,b[i]) ; } } return 0; }

좋은 웹페이지 즐겨찾기